Category Archives: Continuous Integration

Continuous Integration tools — Atlassian Bamboo, Teamcity, Jenkins etc.

Travis: деплой конфигов NGINX в Azure File share

08/07/2017
 

 Имеется ресурс группа, которая включает в себя один Azure Load Balancer, за котором находится Azure VMSS с двумя виртуальными машинами. На машинах работает NGINX, который использует файлы настроек виртуалхостов, которые хранятся в файл-шаре, которая монтируется к обеим машинам. Полное описание проекта – Azure: VMSS за Load Balancer, renew SSL от Let’s Encrypt, SMB file share и NGINX-proxy.… Read More »

Docker: registry && Jenkins migrate

07/02/2017
 

 Задача – перенести сетап из постов Docker: private registry в AWS [China] с S3 storage и Docker: AWS [China] – Jenkins в Docker на новый интанс. VPC, EC2, EIP, EBS разделы и S3 корзина уже созданы. Пост – совсем не HowTo, скорее просто заметка для себя.

Docker: AWS [China] – Jenkins в Docker

06/26/2017
 

 Продолжение развёртывания CI инфрастуктуры в Китае. Начало тут>>>. В предыдущей части – запустили Docker registry, теперь – нужен Jenkins, который будет собирать образы сервисов и пушить в это хранилище. Для запуска Jenkins потребуется: создать EBS для Jenkins workspaces и подключить к EC2 создать EBS для Docker образов запустить и проверить Jenkins проверить Docker билды в… Read More »

Kubernetes: запуск Gravl в Minikube

06/12/2017
 

 Задача: используя Minikube запустить контейнер с CMS Grav. Шаги: собрать Docker образ с NGINX + PHP-FPM и кодом приложения запушить его в DockerHub запустить контейнер с приложением в Kubernetes кластере Установка и запуск Minikube описаны тут>>>. Проверка Grav Т.к. эту CMS ещё не использовал – сначала попробуем запустить её вручную, и посмотреть как она стартует. На Arch для… Read More »

Azure: CDN, NodeJS, Docker Swarm и Blue-Green деплой

04/24/2017
 

 Имеется проект на Azure, которым я занимался большую часть последнего года (с 20-го марта 2016). Пост Azure: почему никогда писался под впечатлением работы как раз на нём (да и большая часть рубрики Azure – тоже).

What is: Infrastructure as Code

03/08/2017
 

 Одним из наиболее важных трендов в IT за последние годы стало бурное развитие автоматизации и одновременно – уменьшение  необходимости во вмешательстве человека и выполнении каких-либо действий. Виртуализация дала нам возможность развёртывания новых окружений для девелоперов, в которых они могли бы делать их работу без опасений затронуть Production-систему, а гипервизоры, такие как Hyper-V или VMWare позволяют… Read More »

Azure: Azure Resource Manager provisioning и Jenkins в Docker

02/28/2017
 

 Задача: создать Resource Group в Azure, которая будет включать в себя виртуальную машину с Jenkins-ом. Jenkins будет запускаться в Docker-контейнере, и подгружать $JENKINS_HOME с внешнего диска, подключенного к виртуальной машине. Получившийся шаблон можно посмотреть тут>>>. Диск уже создан, имеет файловую систему и данные с текущего интанса Jenkins:

Jenkins: pipeline плагин и триггер билда через Github webhook

02/24/2017
 

 Задача: триггерить билд по каждому push в репозиторий. Усложнаяется задача тем, что некоторые билды созданы как Freestyle project и используют плагин GitHub плагин, а некоторые – созданы через Pipeline плагин. Ниже описано создание вебхуков в Github для обоих типов билдов.

AWS: билд Java + Maven + Docker + Packer + Terraform

02/20/2017
 

 Достаточно…. Скажем так – интересная схема билда и деплоя одного приложения. Приложение включает в себя 6 контейнеров (5 – сервисы самого приложения, и один контейнер – Zuul discovery service). Сама идея и архитектура – красивая и достаточно сложная. Но использовать такое для билда и деплоя 5 контейнеров… Overhead, overengineering. Ещё один антипаттерн того, как надо… Read More »

Linux: [[: not found

02/17/2017
 

 Во время Jenkins-билда – скрипт деплоя возвращает ошибку: … [jm-cms-transform-layer-build] Running shell script + [[ -d config ]] /var/jenkins_home/workspace/jm-cms-transform-layer-build@tmp/durable-6569c8ce/script.sh: 2: /var/jenkins_home/workspace/jm-cms-transform-layer-build@tmp/durable-6569c8ce/script.sh: [[: not found …