Tag Archives: Jenkins

Python: скрипт добавления комментария в Jira из Jenkins

25 September 2018
 

 В продолжение поста Jenkins: добавление комментария в Jira-тикет после билда – напишем свой костыль, который будет добавлять комментарии в Jira-тикеты. Скрипт будет парсить заголовок коммита, в котором будет указан Jira-тикет, а потом через Jira API добавлять комментарий. Писать будем на Python – полгода не писал на нём, наконец-то появился повод. Парсинг git-коммита Для того, что бы… Read More »

Jenkins: добавление комментария в Jira-тикет после билда

21 September 2018
 

 Задача – добавлять комментарий в Jira-тикет после выполнения Jenkins-билда в scripted pipeline job. Используем JIRA Pipeline Steps. Докмументация и примеры – тут>>>. Устанавливаем его – Manage Jenkins > Manage Plugins: Настраиваем доступ к Jira – переходим в Manage Jenkins > Configure system, в JIRA Steps добавляем сайт: Добавляем тестовую задачу: node { echo “Run job” jiraAddComment idOrKey: ‘BMEDIOS-198’, comment: ‘Test’,… Read More »

Jenkins: wrapper script does not seem to be touching the log file

23 August 2018
 

 При запуске задачи возникает ошибка: wrapper script does not seem to be touching the log file in /var/lib/jenkins/workspace/ETLFB@tmp/durable-893314e7 (JENKINS-48300: if on a laggy filesystem, consider -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=300) Есть созданная бага тут>>>. Собственно решеине указано в тексте самой ошибки – добавляем HEARTBEAT_CHECK_INTERVAL=300. Обновляем pipeline-скрипт, добавляем System.setProperty(“org.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL”, “3800”);: #!/usr/bin/env groovy node { // checkout https://github.com/project/deployment to the “ci”… Read More »

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: 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 »

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 »