2012-07-08 11 views
5

Ho attivato un'istanza di GitHub Enterprise (11.10.272) e creato un repository. Ho scritto un hook di pre-ricezione in Ruby che vorrei usare con quel repository.Come posso aggiungere un hook git personalizzato a un repository GitHub Enterprise?

GitHub Enterprise, come GitHub regolare, consente la configurazione dei ganci di servizio. Ho provato a SSH nel server GitHub Enterprise per creare un file hook, ma non sono riuscito a trovare la directory repo. Inoltre, i termini di GitHub Enterprise vietano di modificare la VM, quindi non sono sicuro che si tratti di un ottimo approccio.

Sembra GitHub: ganci supportati FI. La versione corrente dello strumento di migrazione da FI a Enterprise attualmente non supporta i ganci in base allo Migrating from GitHub:FI.

+0

Ben, puoi condividermi con il gancio del rubino pre-ricevuto? Sto progettando di avere un hook pre-receive in github ma non ho idea di ruby ​​e volevo solo vedere un esempio. –

risposta

3

Sulla base della mia e-mail con il supporto clienti GitHub, pre-ricevere ganci non sono supportate per GitHub Enterprise a partire da maggio 2013.

Non abbiamo accesso admin il nostro contenitore di GHE, quindi non abbiamo potuto entra e "aggiusta" questo se lo volessimo.

Affermano che le cose che fanno si interrompono se si rifiuta il commit. Presumo che intendano cose come la fusione automatica di richieste pull, ma non ne sono sicuro.

Hanno un ampio set di webhook post-commit che è possibile utilizzare per la funzionalità post-commit.

Sto cercando di creare un "server pass-through git": in pratica, eseguo regolarmente il polling dell'API GHE per creare un clone locale di qualsiasi repository esistente su determinati account GHE e quindi clonarlo automaticamente con l'abitudine ganci pre-ricevuti e post-ricezione. Questo ci permetterebbe di clonare il server pass-through, fare i nostri ganci di pre-ricezione e passare a GHE le modifiche approvate. Non sembra esserci alcun tipo di server pass-through standard per git ancora là fuori, probabilmente perché è necessario sapere quale repos to clonare, che non sembra avere una API git standard.

2

GitHub Enterprise sembra memorizzare repostories in /data/repositories. Ogni repository ha ganci generati da un modello. Posso modificare questi hook, ma questo sicuramente spezzerebbe qualcosa. I ganci del modello sembrano cercare ganci in un'altra posizione, ma quella posizione è definita in config e non riesco a trovarla.

Problemi correlati