Ответ
Запуск задания в Jenkins можно выполнить несколькими способами, в зависимости от контекста и требований к автоматизации.
1. Через веб-интерфейс (ручной запуск):
- Перейдите на дашборд Jenkins.
- Найдите нужный пайплайн или фристайл-проект.
- Нажмите кнопку "Build Now" (или "Собрать сейчас").
- Для параметризованных сборок откроется форма для ввода параметров.
2. Через REST API (для автоматизации из скриптов или внешних систем):
Используйте curl или аналогичные инструменты. Требуется API-токен пользователя (настраивается в Пользователь → Настройки → API Token).
# Запуск простой сборки
curl -X POST "http://JENKINS_URL/job/MY_JOB/build"
--user "USERNAME:API_TOKEN"
# Запуск параметризованной сборки с передачей параметров
curl -X POST "http://JENKINS_URL/job/MY_JOB/buildWithParameters"
--user "USERNAME:API_TOKEN"
--data "PARAM1=value1&PARAM2=value2"
# Использование crumb для защиты от CSRF (если включена)
CRUMB=$(curl -s "http://USERNAME:API_TOKEN@JENKINS_URL/crumbIssuer/api/json" | jq -r '.crumb')
curl -X POST "http://JENKINS_URL/job/MY_JOB/build"
-H "Jenkins-Crumb: $CRUMB"
--user "USERNAME:API_TOKEN"
3. По триггеру (автоматический запуск): Джоба может быть настроена на запуск автоматически при наступлении события:
- SCM Polling: Опрос репозитория (Git, SVN) на изменения по расписанию (например,
H/5 * * * *— каждые 5 минут). - Webhooks: При получении HTTP-запроса от системы контроля версий (например, GitHub/GitLab Webhook).
- По расписанию (Cron): Использование поля
triggers { cron('H 2 * * *') }в Declarative Pipeline или настройки в UI. - Запуск другими джобами: Через шаг
build job: 'Downstream-Job'в пайплайне.
4. Через Jenkins CLI (устаревший, но возможный способ):
java -jar jenkins-cli.jar -s http://JENKINS_URL/ build MY_JOB -s -v
Из моего опыта: В современных CI/CD пайплайнах я предпочитаю использовать API-вызовы из других джоб (например, запуск деплой-джобы после успешного билда) или вебхуки из Git. Это обеспечивает полную автоматизацию процесса "commit → build → test → deploy". Для отладки или экстренных деплоев используется ручной запуск с параметрами через веб-интерфейс.