Jenkins: Сборка проекта по коммиту в SVN

7.Сборка проекта по коммиту в GitHub
8.Сборка проекта по коммиту в BitBucket

 

1.Создание отдельного пользователя для автоматического запуска сборок

 

2.Предоставление пользователю необходимых привиллегий

Вводим имя нашого пользователя myusername и устанавливаем необходимые права

 

3.Определение значений параметров аутентификации пользователя
Заходим в Jenkins под созданным пользователем myusername и в профиле пользователя узнаем User_ID который соотвествует имени пользователя и API Token пользователя
Например

User_ID (читай логин) и API Token(альтернатива паролю) будут использоваться при аутентификации в Jenkins для удаленного запуска сборок

Аутентификация на удаленном Jenkins-сервере будет происходить по следующему URL
(например, наш Jenkins-сервер доступне по https-протоколу)

Например

UserID – это идентификатор пользователя(login-пользователя)

 

4.Настройка сборки для ее удаленного запуска
В параметрах сборки

Вставляем в поле Authentication Token рандомно сгенерированный токен
(например, вывод программы генерирования паролей pwgen с количеством символов,например,50 т.е. вывод команды pwgen 50 1)

Токен сборки TOKEN_NAME не следует путать с токеном пользователя API_TOKEN

 

5.Настройка URL для удаленного запуска сборок

 

URL для запуска удаленного запуска НЕПАРАМЕТРИЗИРОВАННОЙ сборки
(имя сборки/проекта myjobname)

т.е

Итого полный URL для удаленного запуска НЕПАРАМЕТРИЗИРОВАННОЙ сборки с учетом аутентификации

Удаленный запуск НЕПАРАМЕТРИЗИРОВАННОЙ сборки вызываем вручную/со скрипта через curl

 

URL для запуска удаленного запуска ПАРАМЕТРИЗИРОВАННОЙ сборки

Это часть сборки, которая будет обновлять SVN-репозитарий для нужной/кастомной ревизии
Теперь к парметру REVISION_NUMBER можно обращаться в SHELL-скриптах как к переменной окружения через ${REVISION_NUMBER}
Т.е в SHELL-скрипте можно выполянть команду

Регистр параметра в настройках сборки и в URL, по которому вызывается сборка, должны совпадать

Синтаксис параметризированной сборки

Удаленный запуск ПАРАМЕТРИЗИРОВАННОЙ сборки вызываем вручную/со скрипта через curl

Важно!!!

При использовании вызова в Shell-скрипте параметры должны быть экранированы символом обратного слеша \ либо весь URL должен быть обрамлены кавычками
Т.е либо

либо

Если,например, токен сборки(TOKEN_NAME) не используется, то URL имеет вид

(экранируется символ ? либо весь URL обрамляется кавычками)

либо

Для корректного удаленного запуска ПАРАМЕТРИЗИРОВАННОЙ сборки,
возможно, потребуется отключить Cross Site Request Forgery exploits

или настроить аутентификацию
https://wiki.jenkins.io/display/JENKINS/Authenticating+scripted+clients

 

6.Настройка в SVN-репозитарии хука post-commit для запуска сборки в Jenkins

Копируем исходный post-commit хук и настраиваем его на вызов сборки

 

Сборка проекта по коммиту в GitHub
https://rtfm.co.ua/jenkins-pipeline-plagin-i-trigger-bilda-cherez-github-webhook
https://www.youtube.com/watch?v=Z3S2gMBUkBo&index=13&list=PLzvRQMJ9HDiSaisKr7OnM4Fl7JXCDDcmt

Сборка проекта по коммиту в BitBucket
https://skobk.in/2014/09/jenkins-build-on-bitbucket-commit
https://www.youtube.com/watch?v=nNaR5Q_pIa4&index=4&list=PLzvRQMJ9HDiSaisKr7OnM4Fl7JXCDDcmt

 

Источник
https://wiki.jenkins.io/display/JENKINS/Parameterized+Build
https://www.nczonline.net/blog/2015/10/triggering-jenkins-builds-by-url/
https://stackoverflow.com/questions/20359810/how-to-trigger-jenkins-builds-remotely-and-to-pass-parameters

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика