Архив рубрики: CI/CD

Continuous integration in software engineering is the practice of merging all developer working copies to a shared mainline several times a day.

Continuous delivery is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually. It aims at building, testing, and releasing software with greater speed and frequency.

Travis: Maven билд Java приложения и деплой на Azure

30 мая 2016
 

 Travis — Continuous Integration сервис от разработчиков Github. Является hosted-решением, т.е. располагается на серверах самого Travis. На данный момент — умеет работать только с гит-репоизториями Github, поддержка других сервисов на 2016 год не планируется.

AWS: Blue-green deployment

11 мая 2016
 

 Строго говоря — тема не совсем относится к AWS. Тем не менее — оригинальный пост называется именно так. Обзор Деплой новой версии приложения требует изменений на PRODuction-системе. Изменения == риск. Имеется много техник деплоя — некоторые простые, некоторые более сложные. Некоторые требуют даунтайма — другие нет. Blue/green Deployment — одна из таких техник. Она достаточно… Читать далее »

NGINX: управление конфигурацией прокси

3 мая 2016
 

 Система управления прокси-сервером под NGINX на Ubuntu 14.04 в Azure. Файлы конфигураций бекенд-хостов хранятся в Atlassian Stash, в роли CI/CD сервера выступает GoCD от Hashicorp. Предназначена для предоставления девелоперам возможности управления конфигурацией хостов в процессе переноса сайтов проекта со старых на новые версии. Репозиторий Скрипты Скрипт backup.sh Скрипт nginx_update.sh GoCD Репозиторий

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

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… Читать далее »

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

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 — несколько репозиториев для проекта

20 января 2016
 

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

Jenkins: установка Gradle разных версий

18 января 2016
 

 В требованиях заказчика указано использование Gradle версии 2.9 и выше, в то время как Jenkins по умолчанию использует Gradle 2.5: … [workspace] $ /bin/sh -xe /tmp/hudson7550889694096545979.sh + ./gradlew clean build Downloading https://services.gradle.org/distributions/gradle-2.5-all.zip … Для решения — используем плагин Gradle Plugin.

Bamboo: установка Linux агента

16 сентября 2015
 

 Переходим в каталог /tmp: # cd /tmp Загружаем архив с Bamboo агентом: # wget https://maven.atlassian.com/content/repositories/atlassian-public/com/atlassian/bamboo/atlassian-bamboo-elastic-image/4.4/atlassian-bamboo-elastic-image-4.4.zip Создаём домашнюю директорию агента: # mkdir /home/bamboo/bamboo-agent-home

Bamboo: настройка Elastic Bamboo и агента на AWS EC2 — Windows

26 июня 2015
 

 У Bamboo оказалась замечательная реализация «прямой» работы с агентами в облаке от Amazon. Bamboo может сам создавать, останавливать и удалять агенты, которые базируются на AMI-образе в вашем аккаунте на Amazon. Amazon — создание сервера и образа Для начала — создадим новый EC2-инстанс. Наше приложение собирается с помощью MSBuild и Unity, поэтому — агенты будут работать на Windows: