Как управлять развертыванием проектов с помощью SVN, Hg или еще ...? - PullRequest
0 голосов
/ 15 апреля 2011

У меня следующая проблема,

Когда я работаю в сольном проекте, у меня есть хранилище Mercurial, и всякий раз, когда я собираюсь развернуть, я просто удаляю все файлы на сервере и помещаютам целый новый проект, который подводит меня к проблеме, что когда проект растет, этот процесс становится действительно неудобным.

У меня есть машина за прокси-сервером и брандмауэром, но я хотел бы знатьКак я могу сделать этот процесс более «автоматизированным», как, например, наличие хранилища Hg на сервере и выполнение синхронизации с ПК разработчика с помощью клиента Mercurial для ПК разработчика. Можно ли это сделать?или Можете ли вы предложить программное обеспечение для решения подобных проблем?

Ради контекста я использую Windows в качестве операционной системы ПК для разработки, а сервер является сервером Linux (не уверен в дистрибутиве) с Apache2.2и PHP 5.2.

Заранее спасибо,

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Я делаю развертывание моих личных и небольших проектов (nginx и python) с помощью bash-скрипта, который загружает мою последнюю версию контроля версий, обновляет второе хранилище (hg), которое веб-сервер использует в качестве местоположения сайта (поэтому у меня нетиметь дело с копированием / перезаписью и дополнительными файлами) и перезапускает веб-сервер.Это довольно просто, но у меня хорошо работает.Вместо всех ручных команд по обновлению, копированию и перезапуску я просто ./deploy.sh, и я рад пойти с хорошим сообщением об обновлении набора изменений, отправленным hg.

1 голос
/ 15 апреля 2011

Вы можете установить cronjob на сервере, который клонирует репозиторий Mercurial каждые 5 минут или около того, а затем удаляет папку .hg. Или, если вы не возражаете против наличия папки .hg, вы можете настроить хранилище один раз, а затем настроить cronjob на его обновление каждые x минут.

...