Category Archives: Jenkins

Continuous Integration сервер Jenkins

AWS: AWS CLI и bash – blue/green деплой AutoScale группы за ELB

01/06/2017
 

 Имеется достаточно интересная ифраструктура одного проекта, в котором деплой API-приложения выполняется скриптом, описанным ниже. Его задача – запустить EC2 инстансы, объединённые в blue AutoScale группу, подключить её к Elastic Load Balancer-у (ELB), отключить от ELB green-группу, перезапустить в ней инстансы, подключить её обратно к ELB и отключить blue-группу.

Jenkins: запуск на AWS EC2 + Pipeline Plugin + Docker Pipeline Plugin

10/12/2016
 

 Задача – поднять Jenkins 2 на AWS EC2, и создать два билда: с помощью плагина workflow-aggregator (Jenkins Pipeline Plugin) – вывести “Hello, World” через Pipeline Script; с помощью плагина docker-workflow (CloudBees Docker Pipeline Plugin) запустить Docker контейнер, в котором Maven-ом будет выполенна сборка Java-проекта. Документация по Jenkins Pipeline Plugin – тут>>>. Документация по CloudBees Docker Pipeline Plugin – тут>>>. Создание EC2 Установка NGINX, Docker Установка… Read More »

Python: requests, JFrog Artifactory и деплой

01/26/2016
 

 Пример скрипта деплоя. Задача скрипта – сохранить результаты билда в Artifactory и деплоить из Artifactory на хост с JBoss. Из “особенностей” – результатом билда являются два *.ear архива разных типов: ${GIT_COMMIT}-${VERSION}-unlock-service.ear – бекенд из одного репозитория; ${GIT_COMMIT}-${VERSION}-unlock-ui.ear – фронтенд из второго репозитория. ${GIT_COMMIT} грепается из git log, ${VERSION} – из файла build.gradle, в котором девелоперы устанавливают версию. В Artifactory… Read More »

Jenkins: установка и настройка Maven билда

01/25/2016
 

 Пример ручной установки Jenkins на Vagrant бокс с Ubuntu 14. Добавляем Vagrant машину: $ vagrant init ubuntu/trusty64 Редактируем Vagrantfile: Vagrant.configure(2) do |config| … config.vm.network “forwarded_port”, guest: 8081, host: 8081 … config.vm.network “public_network” … config.vm.provider “virtualbox” do |vb| … vb.memory = “2048” … end … end Запускаем и подключаемся: $ vagrant up $ vagrant ssh

Jenkins: плагин Multiple SCMs – несколько репозиториев для проекта

01/20/2016
 

 Исходный код находится в одном репозитории, а скрипты билдов-деплоев – в другом. При этом – в них используются разные бранчи. Необходимо загрузить оба репозитория. Для решения – используем плагин Multiple SCMs.