Category Archives: Jenkins

Continuous Integration сервер Jenkins

Jenkins: Scripted Pipeline – подтверждение выполнения для Production окружения

16 August 2018
 

 Есть несколько задач, которые выполняются в Scripted Pipeline. В задачах выполняется провижен CloudFormation и запуск Ansible плейбука на Dev и Production. Что бы исключить случайный запуск Production задачи – хочется добавить шаг подтверждения действия. Используем pipeline-input-step и класс BooleanParameterDefinition. Добавляем функцию verify(): def verify() { stage(‘Verify’) { def userInput = input( id: ‘userInput’, message: ‘This… Read More »

Jenkins: уведомление в Slack из Jenkins Scripted Pipeline

25 July 2018
 

 Имеется Jenkins-job, из которой необходимо отправлять уведомления по завершению билда. В Jenkins для этого имеется Slack Notification, который и применим. Хороший пост по теме – тут>>>. Устанавливаем его: Настраиваем Slack – переходим на https://setevoy.slack.com/apps/new/A0F7VRFKN-jenkins-ci (меняем setevoy на ваш URL, само собой), и добавляем Jenkins: И следуем инструкции: Настройка Slack Notification Переходим в Jenkins > Global configuration, внизу настраиваем Slack… Read More »

Jenkins: It appears that your reverse proxy set up is broken / Есть подозрение, что настройки вашего обратного прокси некорректны.

6 July 2018
 

 Перед Jenkins запущен NGINX + SSL. После запуска – Jenkins сообщает, что “Есть подозрение, что настройки вашего обратного прокси некорректны.“: Описание ошибки есть на Jenkins Wiki. Настройки виртуалхоста сейчас выглядят так: upstream jenkins { server 127.0.0.1:8080; } … server { listen 443 ssl; server_name ci.domain.world; … location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP… Read More »

Jenkins: Simple Theme Plugin – настройка внешнего вида UI

5 July 2018
 

 Jenkins – прекрасная система, но вот внешний вид – просто “привет из 90-х”. К счастью – Jenkins поддерживает самую различную кастомизацию, в т.ч. – возможность настройки своего интерфейса. Для этого можно установить плагин Simple Theme Plugin: Далее – в Configure System > Theme либо настроить вид самому, либо использовать готовый набор, например – jenkins-material-theme. Выбираем цветовую схему, например… Read More »

Jenkins: Credentials Binding Plugin и использование нескольких Secret file в Jenkins pipeline

3 July 2018
 

 Задача – запустить ansible-playbook, которому необходимо передать RSA ключ для EC2 и файл с паролем для ansible-vault, т.к. в задачах плейбука используются зашифрованные переменные. Для этого используем Jenkins credentials, где сохраним два файла, а потом через Credentials Binding Plugin – передадим их в контейнер с задачей. Secret file в Credentials Сначала добавляем файлы в Jenkins. Переходим… Read More »

Ansible: jenkins_plugin Connection refused и Cannot get CSRF

30 June 2018
 

 Для Ansible имеется плагин, позволяющий выполнить установку плагинов для Jenkins jenkins_plugin_module. Достаточно интересный модуль, ниже пример его использования и решение ошибки “Connection refused“. При попытке установить плагин с его помощью: … – name: Start Jenkins service   service:     name=jenkins     state=restarted     enabled=yes – name: Install Jenkins plugins jenkins_plugin: name: “{{ item }}” url_username: “{{ jenkins_ui_admin_user }}” url_password: “{{ jenkins_ui_admin_pass }}” state: present… Read More »

macOS: launchctl – запуск/остановка сервисов на примере Jenkins slave агента

20 June 2018
 

 Искал аналог systemctl для systemd или service для Upstart, но под macOS, что бы можно было запускать сервис из консоли, нагуглился такой сервис как launchctl, который является частью launchd. Для примера возьмём plist-файл из комментария к посту Jenkins: macOS slave агент через Java Web Start. Другие примеры plist-файлов есть тут>>>., описание ключей – на странице… Read More »

CircleCI: обзор Continuous Integration сервиса

31 May 2018
 

 CircleCI – система для сборки и деплоя, аналогичная Travis CI (Github), и работающая по тем же принципам – к CircleCI-аккаунту подключаются репозитории (в отличи от Travis – к CircleCI можно добавить любой репозиторий, в т.ч. Bitbucket), билды выполняются в контейнерах или вирутальных машинах, уведомления о результатах билда можно получить на почту или через интеграцию со Slack/HipChat etc, а… Read More »

Jenkins: macOS slave агент через Java Web Start

15 May 2018
 

 В дополнение к посту Jenkins: запуск Jenkins в Docker и подключение SSH Slave – пример добавления агента на macOS, используя Java Web Start. Добавляем пользователя: Проверяем наличие Java: Переходим в Jenkins > Manage Jenkins > Manage Nodes, жмём New Node: Настраиваем: Переходим в Nodes, новый слейв пока оффлайн: Переходим на страницу нового агента, тут сразу все указания… Read More »

Jenkins: запуск Jenkins в Docker и подключение SSH Slave

8 May 2018
 

 Имеется две EC2, на одной будет запущен Jenkins, который будет мастером, второй EC2 надо настроить и подключить как slave для Jenkins. Для этого – на второй машине потребуется Java, настроенная SSH авторизация по ключам, и отдельный пользователь. На Jenkins потребуется SSH Slaves Plugin. Начинаем со слейва. Настройка Jenkins Unix slave Установка Java Подключаемся на слейв, устанавливаем… Read More »