Служба Code Stream включает в себя подключаемый модуль Jenkins, который запускает задания Jenkins, позволяющие выполнять сборку и тестирование исходного кода. Подключаемый модуль Jenkins позволяет выполнять различные варианты тестирования и поддерживает использование настраиваемых сценариев.
Чтобы запустить задание Jenkins в конвейере, воспользуйтесь сервером Jenkins и добавьте конечную точку Jenkins в службу Code Stream. Затем создайте конвейер и добавьте в него задачу Jenkins.
При использовании задачи Jenkins и конечной точки Jenkins в Code Stream можно создать конвейер, поддерживающий задания с несколькими ветвями в Jenkins. Задание с несколькими ветвями включает в себя отдельные задания в каждой ветви репозитория Git. При создании конвейеров в Code Stream, которые поддерживают задания с несколькими ветвями:
- Задача Jenkins может запускать задания Jenkins, которые находятся в разных папках на сервере Jenkins.
- В конфигурации задачи Jenkins можно переопределить путь к папке по умолчанию, указанный в конечной точке Jenkins в Code Stream.
- Конвейеры с несколькими ветвями в Code Stream обнаруживают файлы заданий Jenkins типа .groovy в репозитории Git или репозитории GitHub и начинают создавать задания для каждой ветви, которую они сканируют в репозитории.
- Путь по умолчанию, указанный в конечной точке Jenkins можно заменить на путь, указанный в конфигурации задачи Jenkins, чтобы запускать задание и конвейер, связанные с любой ветвью в основном задании Jenkins.
Необходимые условия
- Настройте сервер Jenkins 1.561 или более поздней версии.
- Проверьте, являетесь ли вы участником проекта в Code Stream. Если это не так, попросите администратора Code Stream добавить вас в проект в качестве участника. См. раздел Добавление проекта в Code Stream.
- Убедитесь в наличии задания на сервере Jenkins (в противном случае задача конвейера не сможет его выполнить).
Процедура
- Добавьте и проверьте конечную точку Jenkins.
- а. Выберите пункт .
- б. Выберите проект и укажите Jenkins в качестве типа конечной точки. Затем введите имя и описание.
- в. Если эта конечная точка — критически важный для бизнеса компонент инфраструктуры, установите флажок С ограниченным доступом.
- г. Введите URL-адрес сервера Jenkins.
- д. Введите имя пользователя и пароль для входа на сервер Jenkins. Затем введите прочие сведения.
Табл. 1.
Прочие сведения для конечной точки Jenkins
Запись о конечной точке |
Описание |
Путь к папке |
Путь к папке, в которой собираются задания. Jenkins может запустить все задания в папке. Можно также создавать вложенные папки. Например:
- folder_1 может содержать job_1
- folder_1 может содержать folder_2, в которой может быть job_2
При создании конечной точки для folder_1 в качестве пути к папке используется job/folder_1 и в списке заданий конечной точки будет только job_1. Чтобы получить список заданий в дочерней папке с именем folder_2, необходимо создать другую конечную точку, где в качестве пути к папке будет использоваться /job/folder_1/job/folder_2/. |
Путь к папке для заданий Jenkins с несколькими ветвями |
Для поддержки заданий Jenkins с несколькими ветвями в задаче Jenkins необходимо ввести полный путь, который включает в себя URL-адрес сервера Jenkins и полный путь к заданию. При добавлении пути к папке в задаче Jenkins этот путь переопределит путь, который отображается в конечной точке Jenkins. При наличии настраиваемого пути к папке в задаче Jenkins служба Code Stream отображает только те задания, которые имеются в этой папке.
- Например, https://server.yourcompany.com/job/project
- Если конвейер должен также запускать основное задание Jenkins, используйте путь https://server.yourcompany.com/job/project/job/main
|
URL-адрес |
URL-адрес узла для сервера Jenkins. Введите URL-адрес в формате protocol://host:port. Например, http://192.10.121.13:8080 |
Интервал между опросами |
Продолжительность интервала между проверками сервера Jenkins на наличие обновлений, выполняемыми службой Code Stream. |
Количество повторных попыток запроса |
Количество повторных попыток отправить запрос запланированной сборки на сервер Jenkins. |
Время ожидания между повторными попытками |
Количество секунд между повторными попытками отправить запрос сборки на сервер Jenkins. |
- е. Нажмите Проверить и убедитесь, что конечная точка подключена к службе Code Stream. Если подключение отсутствует, устраните проблему, мешающую подключению, и нажмите Сохранить.
- Чтобы выполнить сборку кода, создайте конвейер и добавьте задачу, использующую конечную точку Jenkins.
- а. Выберите пункт .
- б. Щелкните этап по умолчанию.
- в. В области «Задача» (Task) введите имя задачи.
- г. В качестве типа задачи укажите Jenkins.
- д. Выберите созданную конечную точку Jenkins.
- е. В раскрывающемся меню выберите задание на сервере Jenkins, которое будет выполнено конвейером.
- ё. Введите параметр для задания.
- ж. Введите маркер проверки подлинности для задания Jenkins.
- Включите и запустите конвейер и проследите, как выполняется его работа.
- Просмотр подробностей по выполнению и состоянию конвейера на панели управления конвейером.
Здесь можно увидеть ошибки в работе конвейера и определить их причины. Здесь также можно отслеживать тенденции, касающиеся продолжительности работы конвейера, успешных случаев его выполнения и сбоев.
Результаты
Поздравляем! Вы интегрировали Jenkins со службой Code Stream, добавили конечную точку, создали конвейер и настроили задачу Jenkins, выполняющую сборку кода.
Пример: Пример кода YAML для задачи сборки Jenkins
Для задач по сборке Jenkins, аналогичных данному примеру, код YAML будет выглядеть приблизительно следующим образом (с включенными уведомлениями):
test:
type: Jenkins
endpoints:
jenkinsServer: jenkins
input:
job: Add two numbers
parameters:
Num1: '23'
Num2: '23'
Дальнейшие действия
Дополнительные сведения см. в других разделах. См. раздел Подключение Code Stream к конечным точкам.