Я отвечаю за запуск веб-проектов, и сейчас от подписки клиента до финального запуска уходит немного больше времени. Он находится на сервере, к которому у меня есть root-доступ, но он запускает Plesk, так что босс может настроить VirtualHosts, что означает, что на нем работает много сайтов.
Каждый проект имеет свой собственный репозиторий git, поэтому в настоящее время у меня есть следующие настройки.
На моем промежуточном сервере есть клон репозитория, и у меня есть два пустых репозитория. Один находится в кузнице (работает на Indefero), а другой - на работающем сервере.
Каждый выпуск проекта помечен сегодняшней датой, например. git tag -a deployed-2011-04-20
.
Итак, на промежуточном сервере я выполняю что-то похожее на git push --tags live master
, которое предназначено для чистого репо на живом сервере.
Затем через SSH на живом сервере я выполняю короткий bash-скрипт, который в основном клонирует репозиторий из живого репо в папку, которую будет обслуживать Apache.
Так что, если во всем этом есть смысл, сможете ли вы порекомендовать инструмент или что-нибудь, что облегчит мою жизнь в соответствии с этим рабочим процессом или может быть адаптировано?
Это выглядит примерно так:
Forge (authoritative source)
^
|
v
Staging/development server
|
v
Live server bare repo
|
v
Releases folder (symlinked to htdocs)