Category Archives: Version Control System

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

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 »

Github: авторизация по SSH ключам

05/31/2016
 

 Генерируем ключ: $ cd ~/.ssh/ $ ssh-keygen -t rsa -C “username@domain.tld” Generating public/private rsa key pair. Enter file in which to save the key (/home/setevoy/.ssh/id_rsa): setevoy_github_openssh Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in setevoy_github_openssh. Your public key has been saved in setevoy_github_openssh.pub. The key fingerprint is:… Read More »

Travis: Maven билд Java приложения и деплой на Azure

05/30/2016
 

 Travis – Continuous Integration сервис от разработчиков Github. Является hosted-решением, т.е. располагается на серверах самого Travis. На данный момент – умеет работать только с гит-репоизториями Github, поддержка других сервисов на 2016 год не планируется.

Ruby: скрипт git-деплоя в Azure

05/21/2016
 

 Скрипт запускается из GoCD и использует Git-деплой от Azure – загружает репозиторий из Azure WebApp на билд-агент GoCD, rsync-ом копирует в него новые файлы, добавляет файл version.html с номером билда и номером последнего коммита, коммитит, и пушит изменения обратно в репозиторий на WebApp в Azure. Для авторизации используются переменные из Environment variables в GoCD:

Azure: управление зонами в Azure DNS – Git, GoCD, bash и Azure CLI

05/12/2016
 

 Новый проект переносит свои домены на DNS Azure, для чего требовалось создать возможность управления ими. Схема получается следующая: файлы зон хранятся в Stash; GoCD проверяет обновления в Stash, и триггерит билд; во время билда – файлы зон заливаются на Azure DNS. Обновление данных выполняется bash-скриптом с помощью Azure CLI. Больше про Azure CLI  и работу с… Read More »

NGINX: управление конфигурацией прокси

05/03/2016
 

 Система управления прокси-сервером под NGINX на Ubuntu 14.04 в Azure. Файлы конфигураций бекенд-хостов хранятся в Atlassian Stash, в роли CI/CD сервера выступает GoCD от Hashicorp. Предназначена для предоставления девелоперам возможности управления конфигурацией хостов в процессе переноса сайтов проекта со старых на новые версии. Репозиторий Скрипты Скрипт backup.sh Скрипт nginx_update.sh GoCD Репозиторий