In questo tutorial, impareremo come possiamo usare i passaggi di Jenkins Stash in una pipeline per copiare o spostare i file da un controller Jenkins a un altro host.
Quando si lavora in Jenkins, è possibile incontrare uno scenario in cui un lavoro produce file e directory specifiche. Tuttavia, poiché i file prodotti e situati sull'agente su cui è stato eseguito il lavoro, dobbiamo trovare un modo per trasferire i file in un host diverso.
Cosa è la scorta di Jenkins?
Il passaggio di stash in Jenkins ci consente di salvare file e directory per uso tardivo su qualsiasi nodo o spazio di lavoro collegato al controller. Per impostazione predefinita, Jenkins eliminerà i file ribassati una volta che la pipeline sarà stata completata.
È bene ricordare che i file ribassati non sono disponibili in altre condutture o lavori all'interno di un controller Jenkins. Se si desidera trasferire file tra lavori o pipeline, utilizzare invece il modulo ArchiveAceFacts.
Un'altra cosa da tenere a mente sul passo della scorta in Jenkins è che è meglio riservato per piccoli file. Questo perché i file ribassati sono disponibili in formato TAR archiviato e compresso, che può essere ad alta intensità di risorse per file superiori a 100 MB. Per file di grandi dimensioni, prendi in considerazione l'utilizzo di un plug -in esterno dell'area di lavoro.
Sintassi di Jenkins Stash
Quanto segue mostra la sintassi del passaggio di Jenkins Stash. Il passaggio accetta i seguenti parametri:
Esempio di dimostrazione
Useremo un controller Jenkins collegato a Debian 11 e Debian 10 Agents per dimostrare come possiamo usare il passaggio di scorta in Jenkins.
Useremo quindi un Jenkinsfile come mostrato di seguito:
tubatura
agente nessuno
fasi
stadio ('start')
agente etichetta 'debian11'
Passaggi
sh "'
Tocca campione.sh
mkdir -p dir
Tocca Dir/Sample_Nested.sh
Tocca Dir/Sample_Nested2.sh
'"
Stash (nome: "SampleStash")
Stage ('Verifica file')
agente etichetta 'debian10'
Passaggi
Unstash "campilestash"
Sh 'Tree'
La pipeline di esempio sopra inizia creando file di esempio per scopi dimostrativi. Quindi utilizziamo il passaggio Stash per creare un campilestash con tutti i file generati. Infine, spostamo i file sull'agente target usando il passaggio Unstash.
Una volta eseguita la pipeline, dovremmo ottenere un'output come mostrato:
Dall'output sopra, possiamo vedere che i file sono stati ribassati e non rimasti sul nodo Debian11 e non stabiliti sul nodo Debian 10.
Conclusione
In questo articolo, hai imparato le basi del lavoro con i passaggi di Stash e Unstash in Jenkins.