Архив метки: Jenkins

Jenkins: SAML Authentication через Okta SSO и группы пользователей

11 октября 2019
 

 SAML – Secure Assertion Markup Language. – используется для распределённой авторизации (federated authentication), когда сервис, к которому требуется получить доступ (Service Provider), обращается к другому сервису (Identity Provider) для того, что бы выполнить эту авторизацию. См. документацию тут>>>. Service Provider (SP): система, в которой требуется аутентифиция, в нашем случае это будет Jenkins Identity Provider (IdP): система,… Читать далее »

Jenkins: деплой Docker Compose из Ansible и ECR авторизация

26 сентября 2019
 

 В продолжение поста AWS: создание Elastic Container Registry и деплой из Jenkins, в котором создали джобу для билда Docker-образов и их пуша в AWS ECR – теперь надо создать джобу в Jenkins для деплоя и запуска одного Docker-контейнера. Запускать будем через Docker Compose, в котором Ansible будет задавать требуемую версию из параметров Jenkins-джобы. Для того, что… Читать далее »

SonarQube: запуск в Docker и вызов из Jenkins Pipeline

18 июня 2019
 

 Задача – запустить SonarQube, что бы Jenkins выполнял проверку кода. Jenkins работает в Docker, билды запускаются тоже Docker. Основная проблема, которая возникла во время запуска SonarQube из Docker Compose, это то, что контейнер с SonarQube внутри себя запускает процесс с Elastisearch (что, вроде как, нарушает главный принцип использования конейнеров – 1 сервис на один контейнер).… Читать далее »

Jenkins: запуск PHPUnit из Codeception по Pull Reguest в Github и Allure-репорты

6 июня 2019
 

 Задача – запускать PHPUnit для тестов кода бекенда. Сам PHPUnit будет запускаться из Codeception. Задача в Jenkins должна триггериться из Github, при создании Pull Request – используем Github Pull-Request Builder плагин. Для просмотра отчётов о тестах – используем Allure. Jenkins запущен в Docker-контейнере, и все процессы будет запускать в контейнерах. Проверка тестов Что бы получить… Читать далее »

AWS: ротация ключей IAM пользователей, EC2 IAM Roles и Jenkins

30 мая 2019
 

 Сегодня просматривал IAM-пользователей в AWS, и вспомнил, что с точки зрения безопасности иногда полезно менять ключи доступа: Но тут встал вопрос: хорошо, задать ключам expire, и периодически их обновлять в AWS IAM – это одно… Но эти ключи используются в куче скриптов, которые запускаются в Jenkins-джобах. Например – провижен бекенда выполняется из Ansible и модуля… Читать далее »

Jenkins: проверка публичных репозиториев Github-организации

16 апреля 2019
 

 Продолжаем внедрение проверки списка публичных репозиториев организации. Напомню: идея состоит в том, что бы если кто-то из девелоперов случайно расшарит приватный репозиторий, или создаст новый репозиторий не приватным, а публичным – получить об этом уведомление в Slack. Написание самой утилиты на Go есть в посте Go: проверка списка публичных репозиториев в Github и уведомления в… Читать далее »

Jenkins: your Jenkins data directory is almost full и автоматическая очистка диска

27 марта 2019
 

 Есть Jenkins, на котором имеется пачка билдов проекта. Спустя какое-то время – появилось сообщение вида: Jenkins: your Jenkins data directory /var/lib/jenkins (aka JENKINS_HOME) is almost full Проверяем диск с помощью ncdu, и находим несколько джоб, которые отжирают много места, например: [simterm] root@jenkins-production:/data/jenkins# du -h –max-depth 1 jobs/ .. 25G jobs/APITests … [/simterm] Кучу места занимают… Читать далее »

Jenkins: jenkins.model.RunIdMigrator doMigrate WARNING: found unexpected dir lastSuccessfulBuil

15 марта 2019
 

 Имеется Jenkins, запущен в Docker-контейнере. Проблема После рестарта через systemctl – “Шеф, усё пропало!” Сам сервис выглядит так: [simterm] root@jenkins-production:/opt/jenkins# systemctl cat jenkins # /etc/systemd/system/jenkins.service [Unit] Description=Jenkins service Requires=docker.service After=docker.service [Service] Restart=always WorkingDirectory=/opt/jenkins # Compose up ExecStart=/usr/local/bin/docker-compose -f jenkins-compose.yml up # Compose down, remove containers and volumes ExecStop=/usr/local/bin/docker-compose -f jenkins-compose.yml down -v [Install] WantedBy=multi-user.target [/simterm]… Читать далее »

Jenkins: HTTP full-duplex channel timeout

15 марта 2019
 

 При подключении к Jenkins с помощью Jenkins CLI – оно завершается с ошибкой. Т.е. в консоли ничего не выводится, но если после подключения выполнить echo $?, что бы вывести код последней команды – то там был, кажется, 255 ответ. Происходило пару дней тому, не записал в черновик. Подключение выглядит так: [simterm] $ java -jar jenkins-cli.jar… Читать далее »

Jenkins: копирование проекта на другой сервер

13 марта 2019
 

 Имеется старый Jenkins с пачкой iOS джоб, которые надо перенести на новый сервер. Документация предлагает: Move a job from one installation of Jenkins to another by simply copying the corresponding job directory. Т.е. вариант первый, самый простой – просто скопировать всю папку jobs, или вложенных задач. Недостаток (или преимущество, в зависимости от задачи) такого подхода… Читать далее »