Архив рубрики: 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.

Jenkins: sandbox.RejectedAccessException: Scripts not permitted to use

8 февраля 2017

Во время создания нового билда — ошибка: org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object (org.jenkinsci.plugins.docker.workflow.Docker push org.codehaus.groovy.runtime.GStringImpl) Ответ нагугливается тут>>> по запросу «RejectedAccessException: Scripts not permitted to use«.

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

6 января 2017

Имеется достаточно интересная ифраструктура одного проекта (UPD: описана в посте AWS: билд Java + Maven + Docker + Packer + Terraform), в котором деплой API-приложения выполняется скриптом, описанным ниже. Его задача — запустить EC2 инстансы, объединённые в blue AutoScale группу, подключить её к Elastic Load Balancer-у (ELB), отключить от ELB green-группу, перезапустить в ней инстансы,… Читать далее »

Jenkins: изменить следующий BUILD_NUMBER

3 ноября 2016

Есть Jenkins job-а, в которой девелоперы попросили изменить номер следующего билда, т.к. версия приложения привязывается к нему. Текущее состояние — #118:

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

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 Установка… Читать далее »

Travis: запуск и сборка Docker-образов

18 июля 2016

Travis CI позволяет собирать, запускать и отправлять образы в репозиторий Docker. Пример .travis.yml файла для запуска Docker: sudo: required services: — docker branches: only: — develop — master before_install: — docker pull microsoft/azure-cli:0.10.0 — docker run microsoft/azure-cli:0.10.0 bash -c «azure —version;» script: — if [ $TRAVIS_BRANCH = «develop» ]; then echo «DEV deploy»; fi -… Читать далее »

MSDeploy: обновить параметры в web.config во время деплоя

8 июля 2016

Во время деплоя требуется изменить некоторые параметры для приложения в файле web.config. Сделать это можно с помощью файла параметров и опции MSDeploy –setParamFile. Проверяем наличие MSDeploy: PS C:\> dir ‘C:\Program Files (x86)\IIS\Microsoft Web Deploy V3’ … -a— 3/9/2016 11:05 AM 216440 msdeploy.exe -a— 4/24/2015 9:26 AM 227 msdeploy.exe.config

Travis: Permission denied — Could not read from remote repository

23 июня 2016

После добавления нового репозитория в Travis — билд падает с ошибкой: … 3.34s$ git clone —depth=50 —branch=develop [email protected]:account/repository.git account/repository Cloning into ‘account/repository’… Warning: Permanently added the RSA host key for IP address ‘192.***.***.121’ to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the… Читать далее »

Git: merge файла из бранча в бранч

22 июня 2016

Имеется два бранча — master и release. Для Travis — в бранче master были внесены изменения в файл .travis.yml, для «активации» бранча release. Теперь — эти изменения в файле .travis.yml из бранча master необходимо смерджить в бранч release. Сравниваем их: $ git diff master release diff —git a/.travis.yml b/.travis.yml index fd0c58a..5925a12 100644 — a/.travis.yml +++… Читать далее »

Travis: уведомления в Slack и работа с бранчами — примеры

12 июня 2016

branches Пример реализации работы с разными бранчами в Travis. Пример файла: $ cat .travis.yml branches: only: — master script: — ./scripts/dns_update.sh -v — test $TRAVIS_TEST_RESULT == 0 && ./scripts/dns_update.sh -b — test $TRAVIS_TEST_RESULT == 0 && ./scripts/dns_update.sh -i notifications: slack: rooms: — akka:YbsC***6h5u#ok-technology on_failure: always on_success: always