Администраторы Automation Pipelines могут предоставить общий доступ к конвейерам, чтобы пользователи в организации имели возможность запускать их в любом другом проекте или добавлять в качестве вложенных задач в конвейер в другом проекте.
Для чего может быть нужен общий конвейер
При предоставлении общего доступа к конвейеру устраняется необходимость в создании одного и того же конвейера для разных проектов в организации. Если обновить общий конвейер, то все пользователи конвейера будут иметь одинаковое обновление.
Общий конвейер также можно использовать в Automation Service Broker. Администратор Automation Service Broker может добавить общий конвейер в качестве элемента каталога, чтобы пользователи могли его запрашивать и запускать в нескольких проектах.
Предоставлять общий доступ к конвейерам или останавливать их работу могут только администраторы Automation Pipelines.
Предоставление общего доступа к конвейеру
Чтобы предоставить общий доступ к конвейеру, нажмите Конвейер и выберите нужный конвейер.
- Выберите
- Если конвейер деактивирован, нажмите .
- (Необязательно) Чтобы сделать общий конвейер доступным в Automation Service Broker, нажмите .
После выпуска конвейера администратор Automation Service Broker может добавить его в Automation Service Broker. См. раздел Добавление конвейеров в каталог Automation Service Broker.
Запуск общего конвейера
Чтобы запустить общий конвейер, необходимо выбрать конвейер и проект.
Конвейер выполняется в контексте выбранного проекта, и общий доступ предоставляется только к модели конвейера. Любая инфраструктура, например конечные точки или переменные, используемые в конвейере, не является общедоступной. Если общий конвейер, в котором используются конечные точки или переменные, выполняется в другом проекте, то в нем должны быть доступны эти же конечные точки и переменные.
Предположим, например, что конвейер jenkinsPipeline
использует projectA
и содержит задачу с конечной точкой с именем jenkinsEndpoint
.
Если вы предоставляете конвейеру jenkinsPipeline
общий доступ и хотите запустить его в контексте projectB
, в projectB
должна быть конечная точка jenkinsEndpoint
. Если jenkinsEndpoint
отсутствует, то перед запуском общего конвейера создайте конечную точку в projectB
.
Ниже описана процедура дублирования конечной точки в другом проекте. Выполните аналогичные действия для переменной.
- Щелкните Конечные точки. В конечной точке, которую необходимо дублировать, например в
jenkinsEndpoint
, нажмите . - Нажмите кнопку Импорт и выберите файл YAML для
jenkinsEndpoint
. - Отредактируйте файл, чтобы изменить проект, например
projectB
в следующем примере кода YAML.--- project: projectB kind: ENDPOINT name: jenkinsEndpoint ...
- Щелкните Импортировать.
Чтобы запустить jenkinsPipeline
в projectB
, нажмите Запустить на карточке конвейера и выберите projectB
в качестве проекта.
projectB
, необходимо иметь роль
Automation Pipelines для администратора, разработчика или исполнителя. Если вы являетесь обозревателем или пользователем
Automation Pipelines, вы сможете запустить конвейер только после того, как администратор
Automation Pipelines сделает вас администратором проекта или его участником в
projectB
. Дополнительные сведения о ролях в
Automation Pipelines см. в
Управление пользовательским доступом и утверждениями в службе Automation Pipelines.
Добавление общего конвейера в другой конвейер
Использование общих конвейеров в качестве вложенных задач в другом конвейере позволяет расширить функциональные возможности конвейеров, используемых в рамках проекта. Общие конвейеры могут находиться в разных проектах или не вместе с конвейером, в котором они содержатся в качестве вложенных задач.
В следующем примере показан конвейер с именем master-shared-pipeline-demo
, где имеются две вложенные задачи конвейера.
Чтобы указать конвейер для Task0
, выберите его в списке общих конвейеров. Каждое имя конвейера содержит имя проекта. Если у нескольких общих конвейеров одинаковое имя, можно использовать имя проекта, чтобы выбрать нужный конвейер.
Использование общего конвейера для отката
Чтобы использовать общий конвейер для отката, выберите его в списке конвейеров при настройке отката для задачи. Automation Pipelines фильтрует список, чтобы в нем отображались конвейеры только по одному проекту или общие конвейеры по разным проектам.
Использование в конвейере общего шаблона
Общий шаблон может использоваться в Automation Assembler как источник шаблона для задачи в конвейере. Использование общих шаблонов позволяет получить доступ к большему количеству шаблонов, чем содержится в одном проекте.
Прежде чем определить задачу в Automation Pipelines, убедитесь, что к шаблону предоставлен общий доступ в Automation Assembler и вам известны его имя и версия. При предоставлении общего доступа к шаблону в списке облачных шаблонов рядом с именем проекта появляется значок.
- В качестве типа задачи выберите Шаблон Automation.
- В качестве действия выберите Создать развертывание или Обновить развертывание.
- В случае обновления развертывания выберите его имя.
- В качестве источника облачного шаблона выберите Шаблон Automation.
- Чтобы указать имя облачного шаблона, выберите нужный вариант из списка шаблонов или введите имя. Если нужного шаблона нет в списке, значит он относится к другому проекту конвейера, поскольку в Automation Pipelines будут перечислены только те шаблоны, которые находятся в одном проекте.
- В поле «Версия облачного шаблона» введите версию шаблона.
В следующем примере shared-bp
— это общий шаблон, проверенный в Automation Assembler. Он должен использоваться, но отсутствует в списке выбора, поэтому введите его имя.
Удаление или закрытие общего доступа к конвейеру
Если общий конвейер добавляется в качестве вложенной задачи или для отката задачи, на него будет ссылаться конвейер, в котором он используется. Чтобы удалить конвейер или запретить общий доступ к нему, необходимо удалить его из всех конвейеров, которые на него ссылаются.
Например, если master-shared-pipeline-demo
содержит Shared-Pipeline
в качестве вложенной задачи, значит он ссылается на Shared-Pipeline
. Удалить или закрыть общий доступ к Shared-Pipeline
можно только после его удаления из master-shared-pipeline-demo
.
Или если TestRollback
использует Shared-Pipeline
для отката задачи, тогда он ссылается на Shared-Pipeline
. Удалить или прекратить общий доступ к Shared-Pipeline
можно только после его удаления из отката для задачи в TestRollback
.
Ниже описано, как проверить ссылки на целевой конвейер и удалить его из конвейера, который на него ссылается, прежде чем удалить целевой конвейер или прекратить общий доступ к нему.
- Проверьте наличие ссылок и обновите ссылки на конвейер в случае их обнаружения.
- а.Нажмите кнопку Конвейеры . В общем конвейере, который необходимо проверить, нажмите .
- б.Запишите имена всех конвейеров со ссылками.
- в.Откройте конвейеры, которые ссылаются на общий конвейер. Удалите общий конвейер, который используется как вложенная задача или для отката задачи, и сохраните конвейер.
- Удалите или закройте общий доступ к конвейеру.
- В конвейере, который необходимо удалить, нажмите .
- В конвейере, общий доступ к которому необходимо закрыть, нажмите .