Администраторы Code Stream могут предоставить общий доступ к конвейерам, чтобы пользователи в организации имели возможность запускать их в любом другом проекте или добавлять в качестве вложенных задач в конвейер в другом проекте.
Для чего может быть нужен общий конвейер
При предоставлении общего доступа к конвейеру устраняется необходимость в создании одного и того же конвейера для разных проектов в организации. Если обновить общий конвейер, то все пользователи конвейера будут иметь одинаковое обновление.
Общий конвейер также можно использовать в Service Broker. Администратор Service Broker может добавить общий конвейер в качестве элемента каталога, чтобы пользователи могли его запрашивать и запускать в нескольких проектах.
Предоставлять общий доступ к конвейерам или останавливать их работу могут только администраторы Code Stream.
Предоставление общего доступа к конвейеру
Чтобы предоставить общий доступ к конвейеру, нажмите Конвейер и выберите нужный конвейер.
- Выберите
- Если конвейер деактивирован, нажмите .
- (Необязательно) Чтобы сделать общий конвейер доступным в Service Broker, нажмите .
После выпуска конвейера администратор Service Broker может добавить его в Service Broker. См. раздел Добавление конвейеров Code Stream в каталог 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
, необходимо иметь роль
Code Stream для администратора, разработчика или исполнителя. Если вы являетесь обозревателем или пользователем
Code Stream, вы сможете запустить конвейер только после того, как администратор
Code Stream сделает вас администратором проекта или его участником в
projectB
. Дополнительные сведения о ролях в
Code Stream см. в
Управление пользовательским доступом и утверждениями в службе Code Stream.
Добавление общего конвейера в другой конвейер
Использование общих конвейеров в качестве вложенных задач в другом конвейере позволяет расширить функциональные возможности конвейеров, используемых в рамках проекта. Общие конвейеры могут находиться в разных проектах или не вместе с конвейером, в котором они содержатся в качестве вложенных задач.
В следующем примере показан конвейер с именем master-shared-pipeline-demo
, где имеются две вложенные задачи конвейера.
Чтобы указать конвейер для Task0
, выберите его в списке общих конвейеров. Каждое имя конвейера содержит имя проекта. Если у нескольких общих конвейеров одинаковое имя, можно использовать имя проекта, чтобы выбрать нужный конвейер.
Использование общего конвейера для отката
Чтобы использовать общий конвейер для отката, выберите его в списке конвейеров при настройке отката для задачи. Code Stream фильтрует список, чтобы в нем отображались конвейеры только по одному проекту или общие конвейеры по разным проектам.
Использование в конвейере общего облачного шаблона VMware
Общий облачный шаблон VMware может использоваться как источник облачного шаблона для задачи в конвейере. Использование общих облачных шаблонов позволяет получить доступ к большему количеству облачных шаблонов, чем содержится в одном проекте.
Прежде чем определить задачу в Code Stream, убедитесь, что к облачному шаблону предоставлен общий доступ в Cloud Assembly и что вам известны его имя и версия. При предоставлении общего доступа к облачному шаблону в списке облачных шаблонов рядом с именем проекта появляется значок.
- В качестве типа задачи выберите Облачный шаблон VMware.
- В качестве действия выберите Создать развертывание или Обновить развертывание.
- В случае обновления развертывания выберите его имя.
- В качестве источника облачного шаблона выберите облачный шаблон VMware.
- Чтобы указать имя облачного шаблона, выберите нужный вариант из списка облачных шаблонов или введите имя. Если нужного облачного шаблона нет в списке, значит он относится к другому проекту конвейера, поскольку в Code Stream будут перечислены только те облачные шаблоны, которые находятся в одном проекте.
- В поле «Версия облачного шаблона» введите версию облачного шаблона.
В следующем примере shared-bp
— это общий облачный шаблон VMware, проверенный в Cloud Assembly. Он должен использоваться, но отсутствует в списке выбора, поэтому введите его имя.
Удаление или закрытие общего доступа к конвейеру
Если общий конвейер добавляется в качестве вложенной задачи или для отката задачи, на него будет ссылаться конвейер, в котором он используется. Чтобы удалить конвейер или запретить общий доступ к нему, необходимо удалить его из всех конвейеров, которые на него ссылаются.
Например, если master-shared-pipeline-demo
содержит Shared-Pipeline
в качестве вложенной задачи, значит он ссылается на Shared-Pipeline
. Удалить или закрыть общий доступ к Shared-Pipeline
можно только после его удаления из master-shared-pipeline-demo
.
Или если TestRollback
использует Shared-Pipeline
для отката задачи, тогда он ссылается на Shared-Pipeline
. Удалить или прекратить общий доступ к Shared-Pipeline
можно только после его удаления из отката для задачи в TestRollback
.
Ниже описано, как проверить ссылки на целевой конвейер и удалить его из конвейера, который на него ссылается, прежде чем удалить целевой конвейер или прекратить общий доступ к нему.
- Проверьте наличие ссылок и обновите ссылки на конвейер в случае их обнаружения.
- а.Нажмите кнопку Конвейеры . В общем конвейере, который необходимо проверить, нажмите .
- б.Запишите имена всех конвейеров со ссылками.
- в.Откройте конвейеры, которые ссылаются на общий конвейер. Удалите общий конвейер, который используется как вложенная задача или для отката задачи, и сохраните конвейер.
- Удалите или закройте общий доступ к конвейеру.
- В конвейере, который необходимо удалить, нажмите .
- В конвейере, общий доступ к которому необходимо закрыть, нажмите .