Как я могу использовать Git для развертывания? - PullRequest
2 голосов
/ 24 августа 2010

По сути, я думал, что смогу использовать git для развертывания в качестве тех поставщиков rails cloud, которые предлагает heroku. Поэтому я создал приложение на сервере, перешел в этот каталог и выполнил там git init. Затем я создал http-сервер с git-wep, указывающим на этот каталог. Теперь я проверяю, это тоже хорошо, редактирую и фиксирую в моем репо.

Теперь, что я хочу сделать дальше, это нажать на сервер и заставить его обновить свой рабочий каталог в качестве ловушки после фиксации. развертывается.

Но мерзавец не даст мне толкаться. Вероятно, я мог бы

Вы можете установить переменную конфигурации 'receive.denyCurrentBranch' в значение 'ignore'

но где бы я это сделал? Где и как я могу разместить крюк?

1 Ответ

4 голосов
/ 24 августа 2010

Было бы лучше, чтобы хранилище на сервере было голым хранилищем (которое на самом деле не имеет рабочей копии - только содержимое каталога .git), а затем используйте что-то вроде git archive | tar -x -C /path/to/htdocs в post-receive-hook для экспорта файлов в обслуживаемый каталог.

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

Чтобы создать пустой репозиторий, передайте флаг --bare при инициализации:

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