Архив рубрики: Version Control System

A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information.

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

28 марта 2018
 

 Документация тут>>>, ниже примеры работы с тегами. Кратко о метках в примерах. Создаём каталог для тестового репозитория: [simterm] $ mkdir git-tag-test-repo $ cd git-tag-test-repo/ [/simterm] Инициализируем пустой репозиторий: [simterm] $ git init . Initialized empty Git repository in /home/setevoy/Temp/git-tag-test-repo/.git/ [/simterm] Создаём тестовый файл: [simterm] $ touch testfile $ git add testfile $ git commit -m… Читать далее »

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

26 марта 2018
 

 Во время выполнения git merge – можно указать опцию –no-ff, что бы гит сохранил историю коммитов в feature-бранче (или девелоп-бранче, кому как удобнее называть). Рассмотрим пример. Создаём каталог: [simterm] $ mkdir testrepo [/simterm] Создаём в нём репозиторий: [simterm] $ cd testrepo/ && git init . Initialized empty Git repository in /home/setevoy/Temp/testrepo/.git/ [/simterm] Создаём и добавляем… Читать далее »

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

29 января 2018
 

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

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

18 октября 2017
 

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

Ansible: Ansible Galaxy – создание аккаунта и добавление роли

8 октября 2017
 

  Процесс создания Github токена, авторизации Ansible Galaxy в Github и добавления роли в Galaxy. Установка Ansible Устанавливаем Ansible: [simterm] $ sudo pacman -S ansible resolving dependencies… looking for conflicting packages… Packages (17) python2-asn1crypto-0.23.0-1 python2-bcrypt-3.1.3-1 python2-cffi-1.10.0-1 python2-crypto-2.6.1-5 python2-cryptography-2.0.3-1 python2-enum34-1.1.6-1 python2-idna-2.6-1 python2-ipaddress-1.0.18-1 python2-jinja-2.9.6-1 python2-markupsafe-1.0-1 python2-paramiko-2.3.1-1 python2-ply-3.10-1 python2-pyasn1-0.3.6-1 python2-pycparser-2.18-1 python2-pynacl-1.1.2-1 python2-yaml-3.12-3 ansible-2.4.0.0-1 … [/simterm] Проверяем: [simterm] $… Читать далее »

Jenkins: Pipeline, Groovy, Ansible и VM provisioning

22 сентября 2017
 

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

Git: восстановить удалённый файл после git rm

30 августа 2017
 

 Удалил файл до того, как скопировал его в другой каталог, требуется восстановить. Удалялся файл через git rm: $ git rm bm_storage_bkp_24_08_2017.tar.gz rm ‘bm_storage_bkp_24_08_2017.tar.gz’ Сбрасываем head: [simterm] $ git reset HEAD Unstaged changes after reset: D bm_storage_bkp_24_08_2017.tar.gz [/simterm]

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

24 февраля 2017
 

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

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

13 октября 2016
 

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

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

6 сентября 2016
 

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