2016-03-23 11 views
8

Ho bisogno di integrare Bitbucket con Jenkins. In modo che ogni volta che viene aperto un PR, si innesca una build in Jenkins. Quindi lo stato di commit dell'ultimo commit nel PR verrà aggiornato come fallito o riuscito e questo commit non attiverà di nuovo la build. (Questo funziona bella con Github, ma sembra essere un incubo per me con Bitbucket)Il plugin di builder di richiesta pull di bitbucket continua a generare lo stesso commit build

Finora ho fatto:

enter image description here

enter image description here

Problemi

  1. Corporatura è innescato più e più volte per la stessa PR/commit
  2. Commit stato non viene aggiornato bitbucket

Fatemi sapere se posso fornire maggiori informazioni.

risposta

3

Nel mio caso, l'URL Jenkins è stato impostato su http://jenkins:8080 e quando tale URL è stata inviata a BitBucket tramite il loro API, BitBucket restituito l'errore "URL non valido" (Cerca in Jenkins Logs: http://yourjenkins:8080/log/all) che non è gestito dal Il plugin BitBucket Pull Request Builder ha quindi continuato a ricostruire continuamente tutte le richieste di pull perché pensava che la build non fosse in corso. Dopo aver impostato l'URL di Jenkins su http://jenkins.domain.tld:8080/ o http:///jenkins, l'API di BitBucket ha iniziato ad accettare l'URL e tutto ha iniziato a funzionare.

Ma nel tuo caso potrebbe essere che qualche altro errore sia la causa. È possibile controllare il log degli errori di Jenkins per vedere l'errore.

vedere il seguente problema: Build status notification fails with Enter a valid URL

+0

cosa è che 'jenkins.domain.tld'? È qualcosa di nuovo o falso? O un vero dominio a cui un server risponderà? – minghua

+0

Ok, vedo che tld sta per dominio di primo livello. Deve essere dichiarato in un servizio DNS privato o pubblico. – minghua

+1

@minghua, corretto ... deve essere il nome di dominio del tuo server Jenkins. –