Вопрос

У меня есть настройка системы с 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top