Jenkins деплой из командной строки

Jenkins может использоваться в том числе как и система деплоя веб-приложения на сервера. При всех плюсах — есть одно неудобство — надо заходить в интерфейс деплоя и «кликать мышью». Если делается это долго, то утомляет.
В тоже время вроде бы как в Jenkins есть API. Но я, например, потратив пару часов, так и не понял как через АПИ сделать простой деплой нужного проекта. В результате поиска в гугле и метода проб и ошибок был написан скрипт на bash.

Думаю что и под Windows сделать cmd или bat файл труда не составит


user="user_name"
token="auth_token"
project="project_name"
server_url="jenkins_site"

main_url="http://$user:$token@$server_url/job/$project/buildWithParameters?DO_DEPLOY=true"

curl -I $main_url

Здесь user_name это логин в Jenkins, а auth_token — токен АПИ. Его можно сгенерировать и скопировать в настройках аккаунта.

project_name имя проект, которы надо продеплоить.

jenkins_site — адрес сайта где собственно установлен Jenkins.

Параметры после ? в ссылке надо уточнять для конкретной настройки деплоя. Можно посмотреть исходник формы, или через Firebug отследить какие параметры передаются для деплоя.

Вместо curl можно использовать wget или любое приложение, которое сможет сделать HTTP запрос по ссылке.

Такой подход позволяет выполнять сразу деплой на несколько разных серверов Jenkins, или разных проектов. Но это в зависимости от задач и возможностей.

Запись опубликована в рубрике Полезности, Работа с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий