2011-11-29 20 views
6

Stiamo utilizzando jenkins per l'integrazione continua utilizzando uno schema standard ogni 10 minuti e funziona perfettamente.Come posso ottenere jenkins per compilare ogni revisione di un repository di subversion

Ora voglio impostare un lavoro che viene eseguito su ogni revisione nella repro, genererà qualcosa che è più o meno una patch binaria che corrisponde a un commit specifico.

L'unico modo che ho capito è quello di utilizzare un hook post-commit sul svnserver che accoda un lavoro sul server jenkins, ma preferirei non farlo poiché richiederebbe un nuovo buco nel firewall (e penso che jenkins comprenda tutti i lavori in coda in uno solo).

+0

Questo è possibile con CruiseControl.Net, penso. Ma molto interessato a vedere una soluzione per Jenkins! –

risposta

3

Non l'ho provato da solo, ma potresti essere in grado di utilizzare un'altra build per attivare le build di subversion.

Ad esempio, è possibile impostare una build che esegue il polling standard ogni 10 minuti dal repository di subversion. Quindi questa build determina tutti i nuovi numeri di revisione verificatisi dall'ultima volta. Quindi fare in coda più build parametrizzate (una per ogni revisione).

Ci sono vari modi per farlo, ma se lo facessi probabilmente avrei la master build usare un passo di python per calcolare tutte le revisioni e poi userei lo parameterized trigger plugin per accodare le build secondarie.

Questo ultimo passaggio potrebbe essere un po 'confuso perché non conosco alcun plug-in che consenta di accodare più build. È una forza bruta, ma è possibile impostare una serie di variabili di compilazione (SVN_REV_1, SVN_REV_2, ...) e quindi impostare diversi trigger (uno per ciascuna delle potenziali variabili). Finché ne avrai di più di allora, sei mai stato sottoposto a nuove revisioni, dovresti essere bravo. (nota: potrebbe esserci un modo migliore per farlo)

Per essere sicuri di non perdere nessuno di questi, suggerirei di aumentare il polling per eseguire ogni minuto. Facciamo qualcosa di simile qui per una delle nostre build e il carico di sondaggi più spesso non è mai stato un problema.

Problemi correlati