En este tutorial, aprenderemos cómo podemos usar los pasos de Jenkins Stash en una tubería para copiar o mover archivos de un controlador Jenkins a otro host.
Al trabajar en Jenkins, puede encontrar un escenario en el que un trabajo produce archivos y directorios específicos. Sin embargo, dado que los archivos producidos y ubicado en el agente en el que se ejecutó el trabajo, necesitamos encontrar una forma de transferir los archivos a un host diferente.
¿Qué es Stash en Jenkins??
El paso de altura en Jenkins nos permite guardar archivos y directorios para el uso tardío en cualquier nodo o espacio de trabajo conectado al controlador. Por defecto, Jenkins descartará los archivos escondidos una vez que se haya completado la tubería.
Es bueno recordar que los archivos estancados no están disponibles en otras tuberías o trabajos dentro de un controlador Jenkins. Si desea transferir archivos entre trabajos o tuberías, use el módulo Archiveartifacts en su lugar.
Otra cosa a tener en cuenta sobre el paso de alijo en Jenkins es que está mejor reservado para archivos pequeños. Esto se debe a que los archivos estancados están disponibles en formato de alquitrán archivado y comprimido, que puede ser intensivo en recursos para archivos superiores a 100 MB. Para archivos grandes, considere usar un complemento de Administrador de espacio de trabajo externo.
Sintaxis de Jenkins Stash
Lo siguiente muestra la sintaxis del paso de alojamiento de Jenkins. El paso acepta los siguientes parámetros:
Demostración de ejemplo
Usaremos un controlador Jenkins conectado con Debian 11 y DeBian 10 agentes para demostrar cómo podemos usar el paso de alijo en Jenkins.
Luego usaremos un Jenkinsfile como se muestra a continuación:
tubería
agente ninguno
etapas
etapa ('inicio')
Agente Etiqueta 'Debian11'
pasos
sh "''
muestra táctil.mierda
mkdir -p dir
toque dir/sample_nested.mierda
touch dir/sample_nested2.mierda
"
Stash (nombre: 'Sumplásash')
etapa ('verificar archivos')
Agente Etiqueta 'Debian10'
pasos
Unstash 'Sumplásash'
sh 'árbol'
La tubería de ejemplo anterior comienza creando archivos de muestra para fines de demostración. Luego usamos el paso de altura para crear una muestra con todos los archivos generados. Finalmente, desconectamos los archivos en el agente de destino utilizando el paso Unstash.
Una vez que ejecutamos la tubería, debemos obtener una salida como se muestra:
De la salida anterior, podemos ver que los archivos han sido escondidos y sin estancamientos en el nodo Debian11 y sin estancamiento en el nodo Debian 10.
Conclusión
En este artículo, aprendiste los conceptos básicos de trabajar con pasos de altura y desatado en Jenkins.