Voglio che Jenkins trovi automaticamente ed esegua la suite di test per ogni ramo che fa parte di una richiesta di apertura aperta. Questo è possibile con qualche plugin Jenkins che non ho trovato?C'è un modo per usare Jenkins con Github Pull Requests?
risposta
un nuovo plugin è stato rilasciato di recente per Jenkins—Github pull request builder.
Se si fa quello che dice sulla latta è probabilmente quello che si vuole.
Un metodo che dovrebbe funzionare è che si potrebbe rinominare il ramo quando viene "preparato per l'integrazione" e pronto per essere testato.
Una convenzione di denominazione come prep/my_feature.
Poi nel plugin git Jenkins è possibile configurare i nomi dei rami che si desidera guardare a per la costruzione. Puoi avere corrispondenza "prep/*".
Abbiamo usato per fare questo per tutti i nostri rami funzionalità utilizzando il prefisso 'dev /' per contrassegnare le funzionalità rami che dovrebbe avere la corsa autobuild per loro. Sembra funzionare abbastanza bene.
Ho trovato inutilizzabile il plug-in Jenkins Github pull request builder, quindi ho scritto un piccolo demone che sincronizza i lavori Jenkins con i PR, quindi i commenti riportano lo stato al thread dei commenti di ogni PR. Puoi trovarlo qui: https://github.com/percolate/jennifer
Che cosa era inutilizzabile a riguardo? – aehlke
Ho fatto qualcosa di simile, ma dove Jennifer è un'app node.js, Jently è un'app Ruby. Puoi trovarlo allo https://github.com/vaneyckt/Jently.
Se vi capita di essere utilizzando CloudBees, offrono la propria richiesta di pull builder plugin.
https://wiki.cloudbees.com/bin/view/DEV/Github+Pull+Request+Validation
I vantaggi che tout rispetto allo standard Jenkins Github pull request builder è che funziona come un programma "inquilino-isolare", impedendo il codice nella richiesta di pull da curiosare in giro per le password o le chiavi SSH. Potrei vedere questo essere particolarmente utile per un progetto pubblico.
Sono abbastanza sicuro che è possibile ottenere Jenkins per controllare ogni ramo. Tuttavia, +1 per questa domanda come mi piacerebbe avere questa funzione. –
Utilizziamo la mentalità "fork early, fork spesso" in modo da avere una tonnellata di esecuzioni di test non necessarie. Mi piacerebbe davvero avere la funzionalità di vedere solo i "rami che si preparano per l'integrazione" in fase di test. –
C'è https://gist.github.com/1911084 e https://github.com/cramerdev/jenkins-comments – iElectric