Category Archives: Version Control System

Всё, касающееся установки, настройки и работы с Системами управления версиями (от англ. Version Control System, VCS или Revision Control System) – SVN, GIT и другие.

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

10/18/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

09/22/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 »

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

02/24/2017
 

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

Git: merge разных бранчей из разных репозиториев

10/13/2016
 

 Задача: смерджить два бранча из разных репозиториев. Кратко – процедура выглядит так: переходим в каталог нового репозитория; git checkout newbranch – переключаемся на нужный бранч; git remote add -f old_repo git@github.com:name/oldrepo.git – добавляем старый репозиторий как remote для нового; git remote update – обновляем все remote; git merge remotes/oldrepo/oldbranch – выполняем слияние текущего репозитория и текущего бранча со старым репозиторием, добавленным как… Read More »

Azure: Git-деплой в Azure WebApp

09/06/2016
 

 Azure App Service поддерживает continuous deployment для веб-приложений из VCS, таких как BitBucket, CodePlex, Dropbox, Git, GitHub и Mercurial. Для примера будет использоваться web-app с WordPress из поста Azure: App Service – деплой WordPress. Обновление приложения будет выполняться с помощью Git-репозитория. UPD: пост пролежал в черновиках более полугода (уже 9 мес, точнее), за которые таким образом деплоить пришлось много. При… Read More »

Git: diff двух репозиториев

08/26/2016
 

 Имеется один репозиторий, WebApp в Azure: $ git remote -v show origin https://gituser@application.scm.azurewebsites.net:443/application.git (fetch) origin https://gituser@application.scm.azurewebsites.net:443/application.git (push) $ git branch * master И второй, в Github: $ git remote -v show origin git@github.com:jm-application/application.git (fetch) origin git@github.com:jm-application/application.git (push) $ git branch develop master * release travis_init

Travis: Permission denied – Could not read from remote repository

06/23/2016
 

 После добавления нового репозитория в Travis – билд падает с ошибкой: … 3.34s$ git clone –depth=50 –branch=develop git@github.com: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… Read More »

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

06/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 +++… Read More »