Stiamo considerando l'utilizzo del plug-in Jenkins Pipeline per un progetto piuttosto complesso costituito da diverse consegne che devono essere create utilizzando strumenti diversi (su macchine diverse) prima di essere unite. Tuttavia, sembra essere abbastanza facile fare una compilazione completa con un singolo Jenkinsfile
, e mi piace la scoperta automatica dei rami git che viene fornito con Pipeline.Esegui parti di una tubatura come lavoro separato
Tuttavia, a questo punto, abbiamo lavori per ciascuna delle consegne e utilizziamo un lavoro "meta" basato sul flusso di build per orchestrare i singoli lavori. La cosa bella di questo è che permette anche di avviare un solo lavoro individuale se sono state fatte solo piccole modifiche, solo per vedere se questa consegna è ancora compilata.
Per emulare questo, alcune idee è venuto in mente:
- utilizzano diversi
Jenkinsfile
s per le consegne eload
loro nella top-levelJenkinsfile
; sembra che il lavoro Multibranch Pipeline non consenta di configurare loJenkinsfile
da utilizzare (https://issues.jenkins-ci.org/browse/JENKINS-35415), tuttavia, la creazione dei lavori per le singole consegne è ancora aperta. - Fornire un'opzione di configurazione per il lavoro di "livello superiore" e avere
if
s per tutte le consegne nelloJenkinsfile
per poter selezionare quale deve essere creato. Ciò tuttavia combinerebbe diversi tipi di build in una sola pipeline e, per lo meno, rovinerebbe la stima del tempo di costruzione.
Queste opzioni sono valide o ce n'è una migliore?
Questa domanda è molto simile a http://stackoverflow.com/questions/38129745/jenkins-build-pipeline-restart-at-stage sebbene si tratti di riavvio. Tuttavia, le risposte a questa domanda trattengono anche questa domanda. – olenz