2012-02-16 12 views
9

Ho bisogno di uno strumento che rappresenti graficamente la nostra pipeline di costruzione. I seguenti screenshot di ThoughtWorks Go e il plugin Jenkins Pipeline illustrano quasi esattamente ciò che voglio che assomigli.Che cos'è un buon strumento per costruire pipeline?

Il problema è che utilizziamo già Jenkins per le nostre build e distribuzioni, insieme ad alcuni altri strumenti personalizzati per compiti di tipo orchestrazione. Non vogliamo che uno strumento di pipeline faccia le build o le implementazioni in sé, ma ha solo bisogno di invocare Jenkins! Ho provato Go e la prima cosa che ha chiesto è dove si trova il mio codice sorgente e come costruirlo. Non potevo andare a lavorare in un modo in cui Jenkins fa le build ma Go crea la pipeline.

Ho anche sperimentato il plug-in Jenkins Pipeline, ma è molto limitante. Per uno, non funziona con il plugin Join (quindi non possiamo avere lavori eseguiti in parallelo, che è un requisito). Presuppone anche che tutti i nostri compiti avvengano in Jenkins (Jenkins non può vedere al di fuori del nostro laboratorio di test e nel nostro ambiente di produzione). Non so se questa sia una valida opzione.

Quindi, qualcuno ha qualche raccomandazione per alcuni strumenti di pipeline che farà ciò che sto cercando?

ThoughtWorks Go Jenkins Pipeline Plugin

risposta

5

Non esisteva quando ho posto la domanda, ma il Build Flow Plugin di Jenkins fa esattamente ciò di cui avevo bisogno e crea molto bene le viste della pipeline.

https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin

+0

Grande suggerimento. Ho trascorso circa 3 ore oggi spostando alcuni dei nostri lavori Jenkins concatenati al plug-in Build Flow e sono già molto soddisfatto dei risultati + ho anche iniziato a eseguire alcuni passaggi in parallelo. Sembra di creare nuovamente un CI per la prima volta. –

1

Jenkins/Hudson può certamente essere utilizzato per ottenere un real pipeline.

+1

Daniel, credo che due problemi con la pipeline sono: 1) Se un passaggio a monte che i cloni di lavoro viene attivato automaticamente ad un certo punto da un nuovo commit/spinta, allora il vostro atomicità è rotto e la tua valle costruisce fallire il loro passo di costruzione condizionale. 2) L'attivazione manuale di una build downstream richiede comunque l'inserimento manuale del numero di changeset :(Se questi sono stati superati, avresti la pipeline di costruzione perfetta :) –

+1

Hai ragione. Per gestire le incoerenze puoi bloccare il palco. Accettare manualmente i changeset è un dolore al collo. Sono totalmente d'accordo e dipende da quanto spesso o complessa sia la tua build, quindi non è sostenibile. La soluzione di cui sopra è tutt'altro che perfetta e non funzionerà in ogni caso. Vedi, Jenkins in realtà non fa pipeline, ma il lato positivo è che non c'è nessuna codifica coinvolta, è tutto fatto con i plugin, quindi è veloce. – dbatwa

Problemi correlati