web-dev-qa-db-fra.com

BitBucket Jenkins ne construit pas automatiquement

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.

19
user697911

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.

33
Haukur Kristinsson

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.

3
Adrián Castillo

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.

2
John Veldboom
  1. Accédez à la page de vos projets sur https://bitbucket.org
  2. Paramètres -> Webhook -> Cliquez sur "Ajouter un webhook"
  3. Ajouter https://yourjenkinsserver.com/bitbucket-hook/
  4. Poussez à nouveau

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é.

1
Martin Thoma

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.

0
m4x1m0v3r

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).

0
Rotem

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:

  1. Assurez-vous que le déclencheur 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 .
  2. Définissez l’URL de votre référentiel (dans le plugin Git) sur https://bitbucket.org/REPOSITORY_OWNER/REPOSITORY_NAME. Le plugin ne correspondra pas s'il s'agit de l'URL SSH.
  3. Vous avez besoin que l'interrogation SCM soit activée. Le plugin lui-même ne tire pas les changements. Vous pouvez laisser le champ de planification vide afin que le référentiel ne soit interrogé que lorsque le plug-in le déclenche.

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
0
Jezor

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é.

0
Tal Avissar