На рынке веб-разработки с высоким спросом использование CI является очень выгодным и почти обязательным требованием (сейчас это дни).
Мы используем TeamCity, YouTrack, Perforce и PHP Maven для создания, упаковки и развертывания наших веб-приложений. Установка выглядит следующим образом:
- После разработки код передается в основную папку репозитория Perforce для приложения
- TeamCity настроен на проверку этой папки на наличие изменений и сборку при каждом обнаружении изменений (см. Настройку TeamCity)
- Как только разработка достигла точки, когда она будет готова к развертыванию, мы интегрируем основную ветвь с веткой выпуска
- TeamCity настроен на проверку ветки релиза на наличие изменений и развертывание по FTP на сервере
- В приложении выполняются задания Cron для развертывания новых выпусков в ветви QA
- Как только изменения и функциональность проверены, состояние развертывания QA устанавливается на "развертывание"
- Еще одно задание Cron выполняется в поисках новых выпусков QA, готовых к развертыванию. Найдя его, он извлекает пакет в папку live
В этом случае наши папки PROD и QA находятся на одном сервере. Кроме того, вы можете иметь несколько конфигураций сборки TeamCity, которые переносят приложение на разные серверы (или использовать teamcity для определения переменной среды).
Кроме того, когда мы закрываем заявки / проблемы в YouTrack, мы можем получить информацию о сборке из TeamCity, когда они взаимодействуют друг с другом.
Ссылки:
Настройка TeamCity, Maven для PHP для непрерывной сборки Joomla:
http://www.waltercedric.com/joomla-mainmenu-247/continuous-build/1552-configuring-teamcity-maven-for-php-for-joomla-continuous-build.html