2015-07-03 33 views
13

Sul mio Jenkins ho configurato:BitBucket Jenkins non costruisce automaticamente

Codice sorgente di gestione

Git repository: https://bitbucket.org/username/project.git

credenziali: username/password

Builder trigger

Bu ild quando un cambiamento è spinto a bitbucket

Sul mio Webhooks bitbucket:

http://Jenkins.URL:8080/bitbucket-hook

ho provato spingendo un piccolo cambiamento in un file .txt, ma il Jenken non costruisce automaticamente. Se faccio clic manualmente "build now", mostra il successo.

Quale potrebbe essere il problema?

Nel repository di bitbucket, il progetto è semplice. Ho solo un file di testo da testare. Penso che finché avrò apportato qualche modifica al file di testo, dovrebbe innescare una build di Jenkins.

Edit:

Nel registro di sistema di Jenkins, mostra "Polling non è stato eseguito ancora.". Ma nel registro delle richieste di Webhook di Bitbucket, posso vedere tutte le richieste.

risposta

1

Come indicato da @Adrian, è comunque necessario selezionare "Poll SCM". È un po 'poco intuitivo, ma quando il webhook di BitBucket invia una richiesta a Jenkins, Jenkins eseguirà il polling delle modifiche su tutti i lavori che fanno riferimento al repository BitBucket in cui è stata apportata la modifica. Puoi impostare un intervallo di tempo lungo per il sondaggio, ad es. @mancoralmente, poiché non è necessario programmare lo Jenkins per attivare il polling; il web hook si prenderà cura di questo non appena verrà effettuato un cambiamento.

+0

Sembra funzionare! Ho impostato 1 minuto. Jenkins costruirà ogni minuto, o ogni volta che viene apportata una modifica al repository – user697911

+18

Questo non è solo sondare ogni minuto comunque? Qual è il punto del trigger push di bitbucket? –

2

Hai contrassegnato la casella di controllo dove si dice: sondaggio SCM? Assicurati inoltre di programmare un breve periodo di tempo per rilevare le modifiche nel repository il prima possibile.

Forse il tuo problema è che pianifichi per molto tempo e dopo la tua spinta Jenkins aspetta un po 'di tempo per rilevare le modifiche.

+0

Ho selezionato "Crea quando una modifica viene trasferita su BitBucket", non su Poll SCM. – user697911

+0

Sì, volevo dire che dovresti selezionare entrambi. Ma come vedo, l'hai già fatto e sta funzionando;) –

+2

Io stesso sto lottando con questo. (Ottenuto Poll SCM attivato e non funziona ancora.) Ma per quanto riguarda questa risposta, sicuramente se accendo il polling scm frequente, lo script di build verrà eseguito regolarmente comunque. In tal caso, qual è il punto del trigger push di bitbucket? –

23

Non è necessario attivare Polling SCM ..

è necessario assicurarsi che il vostro Webhook (Impostazioni-> Webhooks) punta al Jenkins bitbucket-hook come la seguente: "https://ci.yourorg.com/bitbucket-hook/".

Si noti che l'ultima "/", senza di essa, la build non verrà attivata.

È una cosa fastidiosa, poiché riceverai un codice di 200 stati da Jenkins quando invii richieste, con o senza di esso.

+4

Questa dovrebbe essere la risposta accettata, dettagli come questo sono facili da trascurare. – lloiacono

+1

+1 per la mancanza "/" - questo mi ha fatto inciampare e ho passato ore a provare tutti i diversi metodi. Posso anche confermare che NON hai bisogno dell'opzione Poll SCM. –

+0

Mi piacerebbe farlo funzionare senza l'opzione Poll SCM, ma quando ho provato il suggerimento di @ Haukur, ho ricevuto un errore 404. C'è qualcosa sul lato Jenkins che deve essere abilitato oltre al plugin Bitbucket? Funziona per me quando imposto l'opzione Poll SCM in combinazione con "Crea quando una modifica viene inviata a BitBucket". Grazie. – user2337270

0

Sto facendo lo stesso, ma senza il Bitbucket Plugin nel mio Jenkins.

Sto usando il Jenkins Plugin nel mio Bitbucket. Ho configurato il webhook su ciascun repository e puntato con il semplice URL di Jenkins. Quindi, in ogni lavoro di cui ho bisogno, basta controllare il "Poll SCM" con/senza pianificazione (non è richiesto).

Con quello sta funzionando molto bene e evito un'altra installazione di plugin nel mio Jenkins.

1

Utilizzando Jenkins 2.53 e Bitbucket plugin 1.1.5, ho dovuto innescare manualmente la build prima di far funzionare il webhook.

Quello che mi ha fatto una soffiata era questa linea dal documentation:

Se SCM del lavoro (Git) rileva che il repository remoto ha modifiche, quindi

Dopo che il lavoro webhook grande.

0

È necessario prestare attenzione al campo specificatore ramo e specificare il ramo che si sta spingendo a.

Il plug-in Jenkins per Bitbucket non avvia un lavoro se non vengono rilevate modifiche. puoi aggiungere più di un ramo da guardare.

come indicato dalla documentazione ufficiale solo Se SCM (git) del lavoro rileva che il repository remoto è stato modificato THEN invocherà la compilazione.

Quindi se si lascia lo specificatore di ramo con il suo valore predefinito */master e si preme su un ramo diverso, il lavoro non verrà eseguito.

Problemi correlati