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

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«.

Loading

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

6 января 2017

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

Loading

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

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

Loading

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

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

Loading

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

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

Loading

Travis: Permission denied — Could not read from remote repository
0 (0)

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

Loading

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

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

Loading

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

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

Loading