Ответ 1
Если вы хотите, чтобы BitBucket запускал выполнение задания Jenkins после фиксации в вашем репо, у вас есть два варианта:
- Использовать КПП POST
- Используйте крюк Дженкинса
Оба используют API Jenkins для запуска задания.
Для POST-крючка вам в основном нужно создать URL-адрес:
https://USER:[email protected]_URL/job/JOBNAME/build?token=TOKEN
где:
- ПОЛЬЗОВАТЕЛЬ: пользователь Jenkins, который будет запускать задание
- APITOKEN: это токен, связанный с этим пользователем, чтобы разрешить использование API, вы можете получить его со страницы конфигурации пользователя в Jenkins
- JENKINS_URL: адрес вашего сервера jenkins
- JOBNAME: имя задания
- TOKEN: токен, связанный с заданием, вы должны добавить его на страницу конфигурации задания (включить удаленные триггеры)
Приятная вещь об этом заключается в том, что вы можете проверить, работает ли это только с помощью curl с консоли.
Также обратите внимание, что в URL-адресе нет пароля, вместо этого у вас есть API TOKEN, чтобы избежать публикации вашего пользователя и пароля. Что-то еще вы можете сделать, чтобы немного улучшить безопасность, если у вас есть права администратора на сервере Jenkins, создайте нового пользователя с правами доступа только для чтения и создания заданий и используйте его только для этого. Таким образом, вам не нужно публиковать свой собственный пользователь и токен, который может иметь права администратора.
Крючок Jenkins работает одинаково, создавая для вас один и тот же URL-адрес, но у вас нет возможности его протестировать (например, с помощью curl).
Это основано на этих документах:
- API удаленного доступа Jenkins (отправка заданий)
- Управление крючками Jenkins (ознакомьтесь с комментариями)
- Захват BitBucket с Jenkins (это очень полезно, если вы хотите попробовать крючок Jenkins).
Надеюсь, что это поможет.
Ger