2013-11-22 12 views
7

Ho configurato il plug-in Jenkins Github Pull-Request per compilare ogni richiesta pull effettuata dai membri della mia istituzione. Esso funziona magicamente.Il plug-in Jenkins github pull request builder non sta postando su github

Tuttavia, la build non riporta lo stato di generazione a github come mostrato in questa bella post. Ho anche provato a spuntare la casella "Usa i commenti per segnalare i risultati quando si aggiorna lo stato del commit", ma non riesco ancora a recuperare nulla su github.

Ho creato un utente bot su GitHub e gli ho dato i diritti push e amministrativi sul repository.

Il mio server Jenkins è dietro un firewall, ma dal momento che si sta sviluppando normalmente e rilevando le modifiche (tramite polling) al repository github, presumo che questo non sia il problema.

Qualcun altro ha avuto questo problema? come l'hai risolto?

Ecco una discarica della mia uscita della console (compresso per migliorare la leggibilità)

Started by an SCM change 
Building in workspace 
Fetching changes from the remote Git repository 
Fetching upstream changes from repo 
Seen branch in repository origin/HEAD 
Seen branch in repository origin/master 
Seen branch in repository origin/pr/1/head 
Seen branch in repository origin/pr/1/merge 
Seen branch in repository origin/pr/10/head 
[…] 
Seen branch in repository origin/pr/9/head 
Seen branch in repository origin/pr/9/merge 
Seen 33 remote branches 
Checking out Revision 9b4d45ee3a2d265a1268c2931e7b2bcb738e1c87 (origin/pr/16/merge) 
First time build. Skipping changelog. 
...found 160 targets... 
...updating 21 targets... 
**passed** test/bin/test.test/gcc-4.8.1/debug/test.test 
[xUnit] [INFO] - Starting to record. 
[xUnit] [INFO] - Processing BoostTest-1.x (default) 
[xUnit] [INFO] - Check 'Failed Tests' threshold. 
[xUnit] [INFO] - Check 'Skipped Tests' threshold. 
[xUnit] [INFO] - Setting the build status to SUCCESS 
[xUnit] [INFO] - Stopping recording. 
Finished: SUCCESS 

risposta

14

Dopo aver guardato Jenkins TRONCHI ho imparato un paio di cose:

  1. Questo plugin (github pull-richiesta builder) sostituisce completamente tutti gli altri trigger di build (incluso il sondaggio git e SCM). Stavo usando tutti e tre, e quando pensavo che questo plugin funzionasse perché stava costruendo correttamente, erano in realtà gli altri trigger.
  2. È deve impostare l'URL github del progetto sul plugin github. Questo plugin dipende dal plugin github per funzionare. Questo è ciò che gli impediva di funzionare nella mia configurazione.

Dopo aver risolto il n. 2, è possibile rimuovere i trigger da SCM Poll e Git per assicurarsi che il plug-request di richiesta di attivazione stia attivando la compilazione. Quando lo fa, aggiunge effettivamente un collegamento alla richiesta pull al feed di attività in Jenkins (molto bello) e aggiorna correttamente lo stato su github.

+0

Ho lo stesso problema, ma non sono sicuro di cosa intendi con: "Devi impostare il tuo github URL del progetto sul plugin github." - è nella pagina di configurazione del lavoro? Ho sia l'URL github che l'URL del repository impostati nella configurazione del lavoro. Ho anche il builder richieste pull GitHub come trigger single build, ma ho ancora lo stesso problema. guardando i log di jenkins, vedo che il problema è: Impossibile aggiornare lo stato di commit della richiesta pull su GitHub. java.io.FileNotFoundException: https://api.github.com/repos/XXX/YYY/statuses/SHA –

+0

che altro c'è nei tuoi log? Non ho mai ricevuto questo errore, ma i log possono aiutare a identificare ciò che è sbagliato nel tuo caso. Sembra un problema di autenticazione, potrebbe essere? È stato risolto il problema – Carneiro

+0

. il problema era che nelle impostazioni di Jenkins stavo usando un token di accesso, ma il token di accesso è stato generato per un utente che è stato rimosso dai proprietari del repository, quindi non aveva più il permesso di commentare. Se riscontri un errore simile, segui le istruzioni per creare il token di accesso qui: https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin NOTA: ho dovuto riavviare Jenkins per fai questo lavoro contro guthub con il nuovo token di accesso –

Problemi correlati