Domanda

Ho una configurazione di sistema con Git e gitolite. Tutto funziona bene, tranne che voglio che la mia struttura sia così:

Ambiente locale -> Server di sviluppo -> Server di produzione

Ho una configurazione di repository sul server Dev ed è clonato correttamente nell'ambiente locale. Ora, ciò di cui ho bisogno è un filesystem locale che lavora sulla copia sul server di sviluppo, ma non sono sicuro di come farlo con il gitilite.

git clone /home/gitolote/repositories/myrepo.git

Funziona bene finché non provo a spingere/tirare, a quel punto ottengo questo:

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

Qualche idea su come farlo con il gitolite?

È stato utile?

Soluzione

Stai usando il Protocollo locale Per il tuo clone, il che significa che stai bypassando il gitolite interamente (la sceneggiatura di gitolite viene chiamata tramite a comando forzato SSH).

Dovresti creare un secondo clone sul tuo server di sviluppo, utilizzando un indirizzo compatibile con gitolite come:

git clone git@gitoliteserver:myrepo.git

Quel secondo repository sarebbe in grado di spingere/tirare da/dal server Gitolite, fornendo al contempo il "Copia di lavoro del filesystem locale" sul server di sviluppo che stai cercando.

Altri suggerimenti

Se è necessario utilizzare il file Protocollo locale, tutto ciò che serve è impostare GL_BYPASS_UPDATE_HOOK Ambiente variabile 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top