Una pipeline di Jenkins è un gruppo di eventi o lavori interconnessi in una sequenza. Puoi definire una pipeline creando un oggetto della pipeline nel tuo Jenkinsfile.
Le fasi parallele consentono di eseguire più fasi di una pipeline contemporaneamente. Questo può essere utile se si dispone di più fasi indipendenti l'una dall'altra e possono essere eseguite contemporaneamente. Ad esempio, potresti avere una pipeline che costruisce e verifica un progetto software e desidera eseguire le fasi di build e test in parallelo per risparmiare tempo.
In questo articolo, esploreremo le fasi parallele di Jenkins e i suoi benefici. Ci immergeremo anche nelle basi delle build parallele e come usarle nei tuoi progetti.
Blocco parallelo Jenkins
Possiamo definire azioni parallele in Jenkins usando il blocco parallelo. Questa fase contiene un elenco di fasi nidificate che saranno eseguite in parallelo.
È bene ricordare che una fase che corre in parallelo dovrebbe contenere solo un passo, una fase o una matrice. Ciò significa che non puoi avere blocchi paralleli nidificati.
Esempio di utilizzo
Facciamo un esempio come mostrato di seguito:
tubaturaIn questo caso, la pipeline eseguirà le fasi di build e test in sequenza. Tuttavia, poiché nessuna di queste fasi si basa sui risultati di una fase precedente, possiamo eseguirli in parallelo, permettendoci di risparmiare tempo, come mostrato nella pipeline seguente.
tubaturaQuesta pipeline eseguirà prima la fase di build, quindi eseguirà le fasi di prova e distribuirà in parallelo, stampando contemporaneamente la fase di corsa corrente per ogni fase.
Conclusione
La fase parallela di Jenkins consente di eseguire contemporaneamente più fasi di una pipeline, il che può aiutare ad accelerare l'esecuzione complessiva della pipeline.
È possibile utilizzare la direttiva parallela o il blocco delle fasi per utilizzare le fasi parallele in una pipeline di Jenkins. È inoltre possibile specificare il numero di esecuzioni simultanee per ogni fase all'interno del blocco parallelo. Eseguendo le fasi in parallelo, è possibile sfruttare le risorse disponibili e parallelizzare l'esecuzione di fasi indipendenti, riducendo alla fine il tempo complessivo che la pipeline impiega la pipeline.