2013-05-31 9 views
9

Volevo sapere come eseguire uno script bash nel repository locale dopo aver premuto su github.Come eseguire script bash dopo git push

Lo script di bash si trova nella directory principale della cartella. Può essere spostato a seconda di dove viene chiamato, immagino. Ho esaminato git git ma non c'è un hook post-push e non capisco molto bene gli altri hook.

Sto provando a chiamare una build jenkins dopo la spinta. Ho esaminato i modi di notificare jenkins dopo una spinta con url post-ricezione ecc su gitub ma nulla sembra funzionare per me.

Questo è lo script che sto cercando di eseguire:

#!/bin/bash/ 
java -jar jenkins-cli.jar -s http://localhost:8080/ build Test 

Grazie! Varun

+0

Non esiste un tale hook git. Vedi qui per soluzioni alternative: http://stackoverflow.com/questions/1797074/local-executing-hook-after-a-git-push –

risposta

21

Questo è abbastanza facile. C'è uno script pronto per essere eseguito. Dovrai modificare .git/hooks/post-commit per trovare lo script che devi eseguire.

mv .git/hooks/post-commit.sample .git/hooks/post-commit 
vim .git/hooks/post-commit 

ho trovato questo a: git-scm.com: Git Hooks

Se non c'è .git/hooks/post-commit.sample di file, non è un problema, basta creare .git/hooks/post-commit da zero, ad esempio:

#!/bin/sh 
echo look at me I am the post-commit script 
pwd 
# call the script you want 

Ricordati di rendere lo script eseguibile con chmod +x.

Esegui un commit di test e dovresti vedere l'output dello script, proprio prima dell'output regolare del commit.

+6

Questo non è per il post push ma piuttosto per il commit: | –

+0

Come chiamare lo script che voglio eseguire in post-commit? – munmunbb