J'ai des problèmes pour obtenir hudson pour vérifier mon repo git et fusionner dans le maître. Je suis assez inexpérimenté avec Git donc la terminologie (refs etc ...) est encore tout nouveau pour moi. J'ai inclus la sortie de la console Hudson ci-dessous:Hudson git ne fusionne pas dans le master
Ce que je pense est que Hudson vérifie la branche principale de la télécommande, mais ne la fusionne pas dans son propre maître. Lorsque je ssh dans mon serveur et aller à l'espace de travail et tapez git branch
la branche actuelle est * (no branch)
et les journaux pour ce "pas de branche" sont à jour.
Si je vérifie la branche principale, je reçois Your branch is behind the tracked remote branch 'origin/master' by x commits
Donc, évidemment, il ne fusionne pas dans le maître. Comment cela fonctionne-t-il, comment peut-il se fondre dans "aucune branche" ??
J'ai listé ma configuration git ci-dessous. Je ne suis pas sûr de ce que je dois faire pour que hudson fusionne avec sa branche master (ou n'importe quelle branche que je spécifie d'ailleurs). Je finirai par le configurer pour avoir une branche de mise en scène et de production, donc je dois m'assurer qu'il tire et fusionne la branche appropriée pour que je puisse exécuter un déploiement. J'ai obtenu ces paramètres hudson à partir d'un tutoriel que j'ai trouvé, donc je ne comprends pas tout. Pourquoi, par exemple, la branche à construire est */master au lieu de simplement master (cela ne semble pas faire de différence si je la change en master)
Toutes les astuces sont grandement appréciées !!
Hudson Paramètres Git
__gVirt_NP_NN_NNPS<__ URL du référentiel: /home/git/repositories/my_repo.git
Nom du dépôt: origin
Refspec: +refs/heads/*:refs/remotes/origin/*
Branches à construire: */master
Hudson Git Console Log
Last Built Revision: Revision 6ffd51afe6b87393d3215ab2bb30dbcd2de73dde (origin/master)
Checkout:workspace//mnt/data/hudson/jobs/MyApp-master/workspace - [email protected]
Fetching changes from the remote Git repository
Fetching upstream changes from /home/git/repositories/my_repo.git
[workspace] $ git fetch /home/git/repositories/my_repo.git +refs/heads/*:refs/remotes/origin/*
From /home/git/repositories/my_repo
6ffd51a..7333c68 master -> origin/master
[workspace] $ git ls-tree HEAD
Seen branch in repository heroku-devel/master
Seen branch in repository origin/staging
Seen branch in repository origin/master
Seen branch in repository origin/production
[workspace] $ git merge-base 45ae1c52e350fc1463f8b057d81b8cd4472ecdd9 7333c68d2b959eec6b472d7897ec30a3a3cfb5b5
Commencing build of Revision 7333c68d2b959eec6b472d7897ec30a3a3cfb5b5 (origin/master)
Checking out Revision 7333c68d2b959eec6b472d7897ec30a3a3cfb5b5 (origin/master)
[workspace] $ git checkout -f 7333c68d2b959eec6b472d7897ec30a3a3cfb5b5
[workspace] $ git tag -a -f -m "Hudson Build #94" hudson-MyApp-master-94
Recording changes in branch origin/master
[workspace] $ git log --numstat -M --summary --pretty=raw 6ffd51afe6b87393d3215ab2bb30dbcd2de73dde..7333c68d2b959eec6b472d7897ec30a3a3cfb5b5
Versions
Hudson: 1.337
Git: 1.5.6.5
Hudson Git Plugin: 0.7.3
Linux: Debian Lenny 5.0.3
Je n'ai pas accès à mon serveur Hudson pour le moment, mais j'ai un fonctionnement. Je ne peux pas vraiment me souvenir de la syntaxe exacte, mais je pense que je viens de remplacer les deux caractères '*' dans la refspec avec 'master' (ou quel que soit le nom de la branche). –
Également, essayez d'effacer l'espace de travail dans Hudson après avoir apporté des modifications à la configuration git, en vous assurant que Hudson effectuera une extraction entièrement propre la prochaine fois. –
dites-vous alors de changer cela à la fois dans la config hudson refspec et aussi dans le .git/config de l'espace de travail? Et en effaçant l'espace de travail, voulez-vous dire supprimer seulement les fichiers extraits? Ou aussi toutes les choses de configuration git – brad