Гитолит локальная рабочая копия для Apache DocumentRoot
-
27-10-2019 - |
Вопрос
У меня есть настройка системы с git и gitolite. Все работает хорошо, кроме как я хочу, чтобы моя структура была такой:
Локальная среда -> Сервер разработки -> Сервер производства
У меня есть настройка репо на сервере DEV, и она успешно клонирована в локальную среду. Теперь, что мне нужно, - это рабочая копия локальной файловой системы на сервере разработки, но я не уверен, как это сделать с помощью GitoLite.
git clone /home/gitolote/repositories/myrepo.git
Работает нормально, пока я не попытаюсь нажать/тянуть, и в этот момент я понимаю:
remote: ENV GL_RC not set
remote: BEGIN failed--compilation aborted at hooks/update line 20.
remote: error: hook declined to update refs/heads/master
Есть идеи о том, как сделать это с гитолитом?
Решение
Вы используете местный протокол Для вашего клона, что означает, что вы полностью обходите гитолит (сценарий гитолита вызывается через SSH принудительная команда).
Вы должны сделать второй клон на своем сервере разработки, используя гитолит -совместимый адрес, например:
git clone git@gitoliteserver:myrepo.git
Этот второй репо сможет перейти/вытянуть на/с сервера GitoLite, предоставляя «Рабочую копию локальной файловой системы» на сервере разработки, которым вы хотите.
Другие советы
Если вам нужно использовать местный протокол, все, что вам нужно, это установить GL_BYPASS_UPDATE_HOOK
переменная среды 1
:
gorgo@somegitoliteserver:~/testing$ GL_BYPASS_UPDATE_HOOK=1 git push
Counting objects: 3, done.
Delta compression using up to 3 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 234 bytes, done.
Total 2 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (2/2), done.
To file:///home/gitolite/repositories/testing.git/
96be337..ab5ca6d master -> master