Sur mon Jenkins j'ai configuré:
Gestion du code source
Référentiel Git: https://bitbucket.org/username/project.git
informations d'identification: nom d'utilisateur/mot de passe
Déclencheurs de constructeur
Construire quand un changement est poussé vers BitBucket
Sur mes sites Web BitBucket:
http: //Jenkins.URL: 8080/bitbucket-hook
J'ai essayé de pousser une petite modification à un fichier .txt, mais le Jenken ne construit pas automatiquement. Si je clique manuellement "construire maintenant", cela montre le succès.
Quel pourrait être le problème?
Dans le référentiel bitbucket, le projet est simple. J'ai juste un fichier texte à tester. Je pense que tant que je modifie le fichier texte, cela devrait déclencher la construction de Jenkins.
Modifier:
Dans le journal système de Jenkins, il indique "La scrutation n'a pas encore eu lieu". Mais dans le journal des demandes de Bitbucket Webhook, je peux voir toutes les demandes.
Vous n'avez pas besoin d'activer Polling SCM.
Vous devez vous assurer que votre Webhook (Paramètres-> Webhooks) pointe sur votre Jenkins bitbucket-hook
comme suit: " https://ci.yourorg.com/bitbucket-hook/ ".
Notez que le dernier "/", sans lui, la construction ne sera pas déclenchée.
C'est une chose ennuyeuse, car Jenkins vous enverra un code de statut 200 lors de l'envoi de demandes, avec ou sans.
Avez-vous coché la case à cocher où il est écrit: Poll SCM? Veillez également à planifier le plus rapidement possible pour détecter les modifications dans le référentiel.
Peut-être que votre problème est que vous planifiez longtemps et que, après votre Push Jenkins, attendez quelque temps pour détecter les modifications.
En utilisant Jenkins 2.53 et le plugin Bitbucket 1.1.5, je devais d'abord déclencher manuellement la construction pour que le Webhook fonctionne.
Ce qui m'a fait comprendre était cette ligne de la documentation :
Si le SCM du travail détecte que le référentiel distant a été modifié, ALORS
Après cela, le Webhook fonctionne très bien.
Cela nécessite que votre Jenkisserver ait le plugin bitbucket . Vérifiez-le en allant sur https://yourjenkinsserver.com/bitbucket-hook/ - il se plantera, mais vous saurez que vous l'avez installé.
Je fais la même chose mais sans le Bitbucket Plugin dans mon Jenkins.
J'utilise le Jenkins Plugin dans mon Bitbucket. J'ai configuré le WebHook sur chaque référentiel et pointé avec l'URL simplement Jenkins . Ensuite, pour chaque travail dont j'ai besoin, laissez simplement coché la case "Poll SCM" avec/sans planification (n'est pas obligatoire).
Cela fonctionne très bien et j’évite une autre installation de plug-in dans Jenkins.
Même problème sur Jenkins 2.138.1 avec le plugin Bitbucket et le problème était que je devais activer "Gestion du code source" -> git, sinon cela ne ferait rien bien que le lien Web apparaisse dans le journal de Jenkins (/ var/log/jenkins/jenkins.log).
Après quelques difficultés avec le plugin BitBucket, j’ai réussi à le faire fonctionner . Voici le résumé des choses que j’ai trouvées nécessaires au déclenchement des builds, mais qui ne sont pas évidentes dans la documentation de ce plugin:
repository Push
est activé dans votre Webhook. Je pensais que pull request created
/updated
suffirait (construire sur PR est ce que je voulais) mais le plugin réagit uniquement à Push
.https://bitbucket.org/REPOSITORY_OWNER/REPOSITORY_NAME
. Le plugin ne correspondra pas s'il s'agit de l'URL SSH.J'espère que ça aide. Si la construction n'est toujours pas déclenchée pour vous, essayez en activant logs pour les classes suivantes:
com.cloudbees.jenkins.plugins.BitbucketHookReceiver
com.cloudbees.jenkins.plugins.BitBucketTrigger
com.cloudbees.jenkins.plugins.BitbucketJobProbe
com.cloudbees.jenkins.plugins.BitbucketPayloadProcessor
com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource
Vous devez faire attention au champ Spécificateur de branche et spécifier la branche sur laquelle vous appuyez sur .
Le plug-in Jenkins pour Bitbucket ne lancera pas de travail si aucun changement n'est détecté . Vous pouvez ajouter plusieurs branches à surveiller.
comme indiqué par la documentation officielle uniquement Si le SCM (git) du travail détecte que le référentiel distant a été modifié, il appelle la construction.
Ainsi, si vous laissez le spécificateur de branche avec sa valeur par défaut */master et que vous appuyez sur une autre branche, le travail ne sera pas exécuté.