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?

¿Fue útil?

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top