Администраторы Automation Pipelines могут предоставить общий доступ к конвейерам, чтобы пользователи в организации имели возможность запускать их в любом другом проекте или добавлять в качестве вложенных задач в конвейер в другом проекте.

Для чего может быть нужен общий конвейер

При предоставлении общего доступа к конвейеру устраняется необходимость в создании одного и того же конвейера для разных проектов в организации. Если обновить общий конвейер, то все пользователи конвейера будут иметь одинаковое обновление.

Общий конвейер также можно использовать в Automation Service Broker. Администратор Automation Service Broker может добавить общий конвейер в качестве элемента каталога, чтобы пользователи могли его запрашивать и запускать в нескольких проектах.

Предоставлять общий доступ к конвейерам или останавливать их работу могут только администраторы Automation Pipelines.

Предоставление общего доступа к конвейеру

Чтобы предоставить общий доступ к конвейеру, нажмите Конвейер и выберите нужный конвейер.

  1. Выберите Действия > Общий доступ в разных проектах
  2. Если конвейер деактивирован, нажмите Действия > Включить.
  3. (Необязательно) Чтобы сделать общий конвейер доступным в Automation Service Broker, нажмите Действия > Опубликовать.

    После выпуска конвейера администратор Automation Service Broker может добавить его в Automation Service Broker. См. раздел Добавление конвейеров в каталог Automation Service Broker.

Запуск общего конвейера

Чтобы запустить общий конвейер, необходимо выбрать конвейер и проект.

Конвейер выполняется в контексте выбранного проекта, и общий доступ предоставляется только к модели конвейера. Любая инфраструктура, например конечные точки или переменные, используемые в конвейере, не является общедоступной. Если общий конвейер, в котором используются конечные точки или переменные, выполняется в другом проекте, то в нем должны быть доступны эти же конечные точки и переменные.

Предположим, например, что конвейер jenkinsPipeline использует projectA и содержит задачу с конечной точкой с именем jenkinsEndpoint.

Перед запуском общего конвейера убедитесь, что он включает в себя содержимое, необходимое для запуска этого конвейера в другом проекте.

Если вы предоставляете конвейеру jenkinsPipeline общий доступ и хотите запустить его в контексте projectB, в projectB должна быть конечная точка jenkinsEndpoint. Если jenkinsEndpoint отсутствует, то перед запуском общего конвейера создайте конечную точку в projectB.

Ниже описана процедура дублирования конечной точки в другом проекте. Выполните аналогичные действия для переменной.

  1. Щелкните Конечные точки. В конечной точке, которую необходимо дублировать, например в jenkinsEndpoint, нажмите Действия > Экспорт.
  2. Нажмите кнопку Импорт и выберите файл YAML для jenkinsEndpoint.
  3. Отредактируйте файл, чтобы изменить проект, например projectB в следующем примере кода YAML.
    ---
    project: projectB
    kind: ENDPOINT
    name: jenkinsEndpoint
    ...
  4. Щелкните Импортировать.

Чтобы запустить 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 Assembler.

Чтобы использовать шаблон Automation Assembler в общем конвейере, выполните следующие действия.
  • В качестве типа задачи выберите Шаблон Automation.
  • В качестве действия выберите Создать развертывание или Обновить развертывание.
  • В случае обновления развертывания выберите его имя.
  • В качестве источника облачного шаблона выберите Шаблон Automation.
  • Чтобы указать имя облачного шаблона, выберите нужный вариант из списка шаблонов или введите имя. Если нужного шаблона нет в списке, значит он относится к другому проекту конвейера, поскольку в Automation Pipelines будут перечислены только те шаблоны, которые находятся в одном проекте.
  • В поле «Версия облачного шаблона» введите версию шаблона.

В следующем примере shared-bp — это общий шаблон, проверенный в Automation Assembler. Он должен использоваться, но отсутствует в списке выбора, поэтому введите его имя.

При определении задачи с помощью общего шаблона убедитесь, что к нему предоставлен общий доступ в Automation Assembler, после чего введите его имя и версию в Automation Pipelines.
Примечание: Если указанный шаблон не является общим, при попытке использовать его в конвейере другого проекта тот конвейер не будет выполнен и появится сообщение о том, что выбранный шаблон не является общим.

Удаление или закрытие общего доступа к конвейеру

Если общий конвейер добавляется в качестве вложенной задачи или для отката задачи, на него будет ссылаться конвейер, в котором он используется. Чтобы удалить конвейер или запретить общий доступ к нему, необходимо удалить его из всех конвейеров, которые на него ссылаются.

Например, если master-shared-pipeline-demo содержит Shared-Pipeline в качестве вложенной задачи, значит он ссылается на Shared-Pipeline. Удалить или закрыть общий доступ к Shared-Pipeline можно только после его удаления из master-shared-pipeline-demo.

Или если TestRollback использует Shared-Pipeline для отката задачи, тогда он ссылается на Shared-Pipeline. Удалить или прекратить общий доступ к Shared-Pipeline можно только после его удаления из отката для задачи в TestRollback.

Ниже описано, как проверить ссылки на целевой конвейер и удалить его из конвейера, который на него ссылается, прежде чем удалить целевой конвейер или прекратить общий доступ к нему.

  1. Проверьте наличие ссылок и обновите ссылки на конвейер в случае их обнаружения.
    1. а.Нажмите кнопку Конвейеры . В общем конвейере, который необходимо проверить, нажмите Действия > Просмотреть ссылки.
    2. б.Запишите имена всех конвейеров со ссылками.Перед удалением общего конвейера проверьте, не используется ли он другими конвейерами как вложенный конвейер или конвейер для отката.
    3. в.Откройте конвейеры, которые ссылаются на общий конвейер. Удалите общий конвейер, который используется как вложенная задача или для отката задачи, и сохраните конвейер.
  2. Удалите или закройте общий доступ к конвейеру.
    • В конвейере, который необходимо удалить, нажмите Действия > Удалить.
    • В конвейере, общий доступ к которому необходимо закрыть, нажмите Действия > Закрыть общий доступ.