Copia de trabajo local de Gitolite para Apache DocumentRoot
-
27-10-2019 - |
Pregunta
Tengo una configuración del sistema con Git y Gitolite. Todo está funcionando bien, excepto que quiero que mi estructura sea así:
Entorno local -> servidor de desarrollo -> servidor de producción
Tengo una configuración de repositorio en el servidor de desarrollo, y se cloniza con éxito al entorno local. Ahora, lo que necesito es una copia de trabajo de sistema de archivos local en el servidor de desarrollo, pero no estoy seguro de cómo hacerlo con Gitolite.
git clone /home/gitolote/repositories/myrepo.git
Funciona bien hasta que intento empujar/tirar, momento en el que obtengo esto:
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
¿Alguna idea sobre cómo hacer esto con Gitolite?
Solución
Estás usando el protocolo local para su clon, lo que significa que está pasando por alto la gitolita por completo (el guión de gitolite se llama a través de un comando forzado ssh).
Debe hacer un segundo clon en su servidor de desarrollo, utilizando una dirección compatible con Gitolite como:
git clone git@gitoliteserver:myrepo.git
Ese segundo repositorio podría empujar/tirar hacia/desde el servidor Gitolite, al tiempo que proporciona la "copia de trabajo del sistema de archivos local" en el servidor de desarrollo que busca.
Otros consejos
Si necesita usar el protocolo local, todo lo que necesitas es establecer GL_BYPASS_UPDATE_HOOK
entorno variable a 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