git crochets et comment ils fonctionnent
Donc je vais essayer d'obtenir hudson à construire avec un post-recevoir crochet. Dans mon repo git local j'ai mis des post-recevoir.l'échantillon à juste post-recevoir, chmod 755 et ajouter la ligne:
/usr/bin/curl -u user:secret http://localhost:8080/hudson/job/MyJob/build?token=secondsecret
Si je force un build, hudson met à jour le code, mais voici ce que je ne comprends pas, les crochets que les pensions N'ont pas l' .l'échantillon après eux, comme ils le font sur place, et la post-recevoir dans l'hudson pensions n'ont pas de ligne de code ci-dessus. Ce qui se passe ici et comment sont-crochets intégrés à l'ensemble du git? Dois-je changer ce crochet sur la télécommande repo? J'aurais pensé que c'était assez pour le faire localement et pousser si quelqu'un l'extraction à partir de ce repo obtenir la nouvelle crochets. Je ne comprends pas comment un autre utilisateur pensions auraient des différents crochets.
post-receive
hook est appelé sur le dépôt distant.ya mais mon point est qu'il ne semble pas être en invoquant ma commande curl, si je exécuter manuellement, hudson s'exécute en une génération, quand je fais un push, pas de construire est exécuté.
OriginalL'auteur brad | 2009-11-11
Vous devez vous connecter pour publier un commentaire.
En gros, vous avez deux options:
post-receive
crochet sur le serveur et permettent au serveur d'exécuter curl.post-commit
crochet en local sur votre repo et laissez votre zone locale exécuter curl.Que votre travail ne sera probablement récupérer le code pour construire à partir de la mise en pension sur la serveur, seule l'option 1. du sens. Dans le cas 2., le travail aurait probablement pour récupérer le code de votre zone locale, et ce n'est probablement pas ce que vous voulez.
Vous ne pouvez pas placer des crochets sur le serveur à l'aide de
git push
. Vous (ou quelqu'un avec les autorisations appropriées) doit le faire manuellement en vous connectant à serveur et en modifiant le script hook fichiers localement.OriginalL'auteur ndim
Crochets ne sont pas partagées par le référentiel. Vous devez installer le crochet sur le côté éloigné.
+1 les Crochets ne sont pas de la version contrôlés et ne sont pas partagées entre les dépôts. Principalement c'est pour des raisons de sécurité, une chose de laisser quelqu'un de pousser code dans votre repo, il en est une autre de laisser exécuter code sur votre serveur. Aussi, il n'a souvent pas de sens pour tout le monde d'avoir la même accroche -- plates-formes peuvent être différentes, les chemins peuvent être différents, les serveurs peuvent avoir différentes fonctions (mise en scène, de CI, de déploiement, l'assurance qualité, etc.).
ainsi écrit crochets dans mon local pensions n'a effectivement rien alors?
Vous pouvez l'utiliser pour la maison en gardant des tâches comme l'exécution de l'essai avant chaque commit
OriginalL'auteur Stefan Näwe