Предположим, у нас есть два окружения Staging и Production На Staging окружении деплоится ветка c именем staging, а на Produсtion – с именем master Тип сборки в Jenkins – pipeline multibranch Запуск сборки выполняется автоматически при коммите в репозитарий(Bitbucket) Настройка автоматического запуска сборки при коммите в репозитарий Bitbucket описана здесь https://kamaok.org.ua/?p=2833 При использовании типа сборки […]
Записи с меткой ‘jenkins’
Jenkins: создание pipeline Continuous Delivery процесса с деплоем на Docker Swarm Cluster для нескольких окружений
Jenkins: Настройка агента на основе Amazon EC2-инстанса
Ранее рассматривалась настройка Jenkins агентов(slave) на основе отдельного Linux-сервера и Docker контейнера В данной статье рассмотрим настройку Jenkins-агента(slave) на основе динамического создания(и удаления) Amazon EC2-инстанса В AWS-консоли В IAM-вкладке 1.Создать группу jenkins,присодинить к этой группе роль AmazonEC2FullAccess 2.Создать пользователя jenkins(тип c Access/Secret key), включить его в группу Jenkins,сохранить Access/Secret ключи 3.В EC2-вкладке Создать пару SSH-ключей […]
Jenkins: создание Continuous Delivery процесса в Jenkins для проекта Python с использованием Docker
Исходный код был взят с этого репозитария https://github.com/cirulls/hands-on-jenkins/ А именно отсюда https://github.com/cirulls/hands-on-jenkins/tree/master/section_4/code/cd_pipeline Этот репозитарий используется в видеокурсе https://www.packtpub.com/virtualization-and-cloud/hands-continuous-integration-and-automation-jenkins-video В первом примере Dev, Stage и Live–окружения будут запущены на одном сервере Объянение шагов в pipeline 1.Загрузка кода из репозитария
1 |
stage("Checkout") |
2.Сборка Docker-образа с приложением
1 |
stage("Build") |
Имя образа имеет формат
1 |
mydocker.repo.servername/myapp:${BUILD_NUMBER} |
3.Загрузка собранного образа в удаленный Docker-репозитарий […]
Jenkins: создание Continuous Integration/Continuous delivery процесса в Jenkins для проекта Java с использованием Docker, Docker Compose, Ansible
Пример создания Continuous Integration/Continuous Delivery процесса для проекта, написанного на Java, c использованием Gradle, в качестве инструмента сборки Java, Docker, Docker-compose в качестве контейнеризации приложения, Ansible в качестве системы управления/настройки staging-сервера и запуска docker-compose-файла Реализация этой связки описана в книге Сontinuous delivery with Docker and Jenkins by Rafal Leszko Алгоритм действий: 1.Создание Java-проекта, который будет […]
Jenkins: Настройка агентов на основе отдельного Linux-сервера и Docker контейнера
Использование Master(главного и единственного сервера, на котором непосредственно установлен Jenkins) вместе с агентами(подчиненными серверами) позволяет выполнять сборки на этих агентах, уменьшая тем самым нагрузку на master-сервере, выполнять сборки на различном программном обеспечении/операционных системах, параллельно выполнять разные шаги одной и той же сборки на разных Jenkins-агентах(например, запуск параллельных тестов для различных WEB-браузеров(Chrome, Firefox, Opera и т.д.) […]
Jenkins: создание Continuous Integration/Continuous delivery процесса в Jenkins для проекта Java с использованием Docker
Пример создания Continuous Integration/Continuous Delivery процесса для проекта, написанного на Java, c использованием Docker За основу был взят репозитарий, форкнутый с https://github.com/nikhilpathania/hello-world-greeting и его реализация в книге Learning Continuous Integration with Jenkins 2nd Edition by Nikhil Pathania Здесь доступен оригинальный код автора книги https://github.com/PacktPublishing/Learning-Continuous-Integration-with-Jenkins-Second-Edition Все подготовительные работы(установка и интеграция Jenkins,Maven,SonarQube,Nexus) были выполнены в предыдущих статьях: […]
Jenkins: создание Continuous Integration/Continuous delivery процесса в Jenkins для проекта Java
Пример создания Continuous Integration/Continuous Delivery процесса для проекта, написанного на Java За основу был взят репозитарий, форкнутый с https://github.com/mitesh51/spring-petclinic и его реализация в книге Jenkins Essentials.2nd edition by Mitesh Soni Все подготовительные работы(установка и интеграция Jenkins,Maven,SonarQube,Nexus) были выполнены в предыдущих статьях: Установка и настройка Jenkins,Maven,SonarQube,Nexus на Centos 7 Установка и настройка SonarQube на Ubuntu 16 […]
Jenkins: встраиваемый статус сборки
1.Установка Embeddable-build-status плагина в Jenkins
1 |
Jenkins->Настроить Jenkins->Управление плагинами->Доступные-> Embeddable-build-status |
2.Предоставление доступа для анонимного пользователя на просматривание статуса сборки
1 |
Jenkins->Настроить Jenkins->Глобальные настройки безопасности->Anonymous Users->Задача(job)->ViewStatus->Применить->Сохранить |
3. На странице с задачей,статус которой необходимо опубликовать/предоставить всем, выбираем Embeddable Build Status 4.Копируем ссылку на статус нашего билда из поля Plain Link(uprotected) 5.Проверяем,что статус билда доступен по ссылке для незарегистрированных пользователей(открываем ссылку в приватной […]
Jenkins: публикация статуса сборки в Bitbucket
1.Установка плагина Bitbucket Build Status Notifier в Jenkins
1 |
Jenkins->Настроить Jenkins->Управление плагинами->Доступные->Bitbucket Build Status Notifier |
2.Создание ключа и секрета QAuth в Bitbucket
1 2 3 4 5 6 |
Bitbucket Web-interface->Bitbucket settings->QAuth->Add consumer Name->For jenkins integration with build notifier Callback URL->https://myjenkinsurl/ This is a private consumer->+ Permissions->Repositories->Read,Write Save |
В результате получаем Key и Secret
1 2 |
Key Pd2XXXXXXXXXXXXX Secret gu7uQYYYYYYYYYYYYYYYYYYY |
Значения Key и Secret полученных на этом этапе будут использоваться в качестве логина и пароля соответственно при аутентификации в Bitbucket из Jenkins 3.Создание Credentials в Jenkins для аутентификации в […]
Jenkins: сборка проекта по коммиту в Bitbucket и GitHub
Сборка Jenkins-проекта по коммиту в Bitbucket 1.Установить Bitbucket-плагин в Jenkins
1 |
Jenkins->Настроить Jenkins->Управление плагинами->Доступные->Bitbucket |
2. Настройка сборки В настройках сборки в разделе триггеры выбираем
1 |
Build when a change is pushed to Bitbucket |
3.Настройка Webhook для репозитария на Bitbucket
1 |
Bitbucket Web interface->Репозитарий jenkins-practice-bitbucket->Settings->Webhooks->Add webhook |
1 2 3 4 |
Title-> Webhook for project freestyle-bitbucket-webhook-commit URL -> https://myjenkinsurl/bitbucket-hook/ Status->Active Triggers->Repository push |
4.Делаем коммит в репозитарий и проверяем наличие новой сборки, запущенной коммитом в BitBucket Сборка Jenkins-проекта по коммиту в GitHub 1.Установка GitHub Integration […]