Jenkinsfile ejecuta un script de shell

Jenkinsfile ejecuta un script de shell
Cuando recién comience con Jenkins, puede darse cuenta de que necesita invocar el paso SH, BAT o PowerShell para ejecutar comandos de shell en su controlador.

Aunque esto puede ser útil cuando se trabaja con algunos comandos, puede ser agotador y difícil de manejar cuando se trabaja con múltiples comandos o copias de la misma tubería de Jenkins.

En este tutorial, aprenderemos cómo eliminar tal problema agregando nuestros comandos en un script de shell, ya sea un script de PowerShell o un script bash. Luego discutiremos cómo podemos decirle a Jenkins que cargue el script de shell y ejecute los comandos que se definen en el archivo.

Requisitos

Para este tutorial, usamos lo siguiente:

  1. Un controlador Jenkins que se ejecuta en Windows.
  2. Un agente de Jenkins etiquetado como "Debian" que se ejecuta en Debian 11.

Paso 1: Prepare su script de shell

El primer paso es asegurarse de tener su script de shell listo en el agente de Jenkins. A continuación, creamos un script de shell simple para este tutorial sobre el agente de Debian 11.

Inicie sesión en su agente de Jenkins:

$ ssh [email protected]

Una vez iniciado sesión, necesitamos crear un script de shell que deseamos usar en nuestra tubería Jenkins.

$ CD /Home /Debian
$ touch myScript.mierda

Edite el script de shell y agregue la función de su script de shell. Para este tutorial, obtenemos la lista de archivos y directorios utilizando AWK.

$ vim myscript.mierda

Luego podemos agregar el script como se muestra en el siguiente:

#!/bin/bash
ls -la | Awk 'imprimir $ 9'

El script anterior es un script simple que llama al comando ls -la y pasa la salida a AWK. AWK luego imprime el valor en la posición especificada.

El siguiente paso es asegurarse de que el shell tenga permisos de ejecución. Podemos hacer esto ejecutando el siguiente comando chmod:

$ chmod +x myscript.mierda

Antes de ejecutar el script en la tubería de Jenkins, puede ejecutar el script en la máquina local para garantizar que el script funcione como se esperaba.

Paso 2: Configurar un trabajo de Jenkins

Una vez terminado, regresemos al controlador Jenkins y configuemos un trabajo que usa el script definido.

Seleccione "Nuevo elemento" en el tablero de Jenkins para crear un nuevo trabajo. Dale un nombre al trabajo y seleccione el tipo de trabajo como "tubería".

Navegue a la sección de la tubería y agregue un script de tubería como se muestra en lo siguiente:

tubería
Agente Etiqueta 'Debian'
etapas
Stage ('Run script')
pasos
sh '/home/debian/myscript.mierda



Haga clic en "Guardar" para aplicar el script y seleccione "Construir ahora" en el panel izquierdo para permitir que Jenkins construya el trabajo.

En el número de compilación, seleccione la salida de la consola para ver el proceso de compilación para el trabajo invocado.

Conclusión

Ahora ha aprendido con éxito a invocar un script de shell de una tubería de Jenkins en unos pocos pasos.