Category Archives: Git

Система контроля версий Git

CircleCI: обзор Continuous Integration сервиса

31 May 2018
 

 CircleCI – система для сборки и деплоя, аналогичная Travis CI (Github), и работающая по тем же принципам – к CircleCI-аккаунту подключаются репозитории (в отличи от Travis – к CircleCI можно добавить любой репозиторий, в т.ч. Bitbucket), билды выполняются в контейнерах или вирутальных машинах, уведомления о результатах билда можно получить на почту или через интеграцию со Slack/HipChat etc, а… Read More »

Git: пример merge develop в master

21 May 2018
 

 Пример того, как смерджить бранч из девелоп-ветки в мастер, с сохранением всех коммитов и истории. Переключаемся на мастер, потягиваем последние изменения: $ git checkout master $ git pull Already up to date. Переключаемся на бранч, который будем мерджить в master, в данном примере это LTHS-380_Update_build_deploy_to_compose: M после чекаута указывает на то, что файл был modified: M… Read More »

Jenkins: получить пароль из Credentials Binding Plugin

25 April 2018
 

 Задача – добавить и запушить тег после билда, используя логин:пароль репозитория, которые добавлены в Credentials Binding Plugin. Само решение достаточно костыльное, но рабочее. Главная проблема в том, что Jenkins маскирует пароль ****. Т.е. при вызове: … withCredentials([usernamePassword(credentialsId: ‘git’, usernameVariable: ‘USERNAME’, passwordVariable: ‘PASSWORD’)]) { sh “echo pass $PASSWORD” sh “echo user $USERNAME” } … В результате получим… Read More »

Git: работа с тегами (метками)

28 March 2018
 

 Документация тут>>>, ниже примеры работы с тегами. Кратко о метках в примерах. Создаём каталог для тестового репозитория: Инициализируем пустой репозиторий: Создаём тестовый файл: Добавление тегов Теги в Git есть двух основных типов: теги с аннотациями, содержат сообщение, и имя и почту автора тега, как при коммите легковесные теги – просто указатель на определённый коммит, без… Read More »

Git: merge – зачем нужна опция –no-ff (no-fast-forward)

26 March 2018
 

 Во время выполнения git merge – можно указать опцию –no-ff, что бы гит сохранил историю коммитов в feature-бранче (или девелоп-бранче, кому как удобнее называть). Рассмотрим пример. Создаём каталог: Создаём в нём репозиторий: Создаём и добавляем тестовый файл: Проверяем: Создаём новый тестовый бранч testbranch: Вносим изменения в файл: Коммитим их: Проверяем: Переключаемся на master: Мерджим без… Read More »

Ansible: миграция RTFM 2.8 – logrotate, unattended-upgrades и Let’s Encrypt для Bastion хоста

29 January 2018
 

 Прыдущая часть – AWS: миграция RTFM 2.7 – CloudFormation и Ansible – наcтройка NAT (там же ссылки на предыдущие посты). В этой части продолжим настройку Bastion хоста. Задача – добавить: роль logrotate: ротация логов NGINX (в дальнейшем логи будут сбрасываться через CloudWatch Logs агента) роль unattended-upgrades: автоапдейты системы роль Let’s Encrypt: получение и обновление сертификатов для сайтов роль… Read More »

Jenkins: миграция RTFM 2.6 – Jenkins Pipeline для Ansible

18 October 2017
 

 В одном из предыдущих постов – Jenkins: миграция RTFM 2.4 – Jenkins Pipeline для CloudFormation RTFM стека – была добавлена задача в Jenkins для создания и апдейта AWS CloudFormation стека. Следующая задача – запускать Ansbile из Jenkins для настройки серверов в стеке. Далее создадим одну Ansbile роль с установкой NGINX, потом добавим задачу в Jenkins. PEM-ключи для… Read More »

Jenkins: Pipeline, Groovy, Ansible и VM provisioning

22 September 2017
 

 Продолжение постов Ansible: пример установки NGINX и Azure: provisioning с Resource Manager, Jenkins и Groovy. Задача  – запускать провижен VM из Jenkins. Пока выполняется только установка NGINX, позже будет добавлен Prometheus. Используем Jenkins Pipeline и groovy-скрипты. Описание Используется два репозитория: один для скриптов Jenkins (переменная $BUILD_REPO_URL в скриптах ниже), второй для файлов Ansbile ($INFRA_URL), в которых описаны хосты… Read More »