Usa alijo en Jenkins

Usa alijo en Jenkins

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:

  1. Nombre: cadena - Este es un tipo de cadena que define el nombre del alijo. Este debería ser un identificador simple que hace referencia al trabajo objetivo, aunque no sea necesario.
  2. Permitido: booleano - El permiso es una opción booleana que define si el alijo debe crearse incluso si no hay archivos disponibles. Por defecto, esta opción se establece en False y Jenkins devolverá un error si no hay archivos disponibles para esconderse.
  3. Excluir: cadena - Este parámetro opcional le permite definir el conjunto de archivos y directorios que desea excluir del alijo. Use una lista separada por comas para especificar los archivos que desea excluir. Para seleccionar un patrón, use la lista de patrones de hormigas.
  4. Incluye: cadena - Similar al patrón de exclusión, pero define los archivos para incluir en el alijo.
  5. UsadaFaultExCludes: boolean - Este parámetro booleano le permite usar las exclusiones predeterminadas de la hormiga. Por defecto, el valor se establece en verdadero.

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.