Внешняя оболочка для развертывания папки git - PullRequest
1 голос
/ 14 ноября 2011

У меня есть папка "myapp" под git.Используются несколько веток (master, dev, test, prod, ...).Я хотел бы сделать внешний сценарий оболочки (сценарий, который не находится в папке «myapp») для развертывания данной ветви на веб-сервере.

Как выбрать выделенную ветку из внешнего скрипта?

Идея состоит в том, чтобы использовать что-то вроде:

cp -r myapp@dev my_we_folder_path 
# myapp@dev beeing the dev branch of myapp folder

Очевидно, myapp @ dev не является правильной нотацией git, но есть ли что-то эквивалентное в git?

Ответы [ 2 ]

3 голосов
/ 14 ноября 2011

Как показывает вопрос SO " git post-receive, для обновления нескольких серверов ", обычный способ реализации этой функции - через хук post-receive, аналогичный this .

Идея состоит в том, чтобы при новых коммитах создать архив вашего git-репо и распаковать его / rsync там, где вам нужно его развернуть.
Как упомянуто в « git-archive против cp », это лучше, чем просто cp репозитория git all.
И это согласуется с практикой отсутствия какой-либо функции VCS на платформе развертывания и сохранения только того, что вам нужно для запуска вашей программы в производственной среде.

0 голосов
/ 01 октября 2013

Возможно, вы захотите проверить, что я узнал здесь о безопасном развертывании git-проекта на удаленном веб-сервере, не подвергая свое хранилище вашему веб-серверу: https://stackoverflow.com/a/18941021/470749

Этот код может быть изменен для ваших нужд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...