Cómo crear un jenkinsfile

Cómo crear un jenkinsfile
Un Jenkinsfile se refiere a un archivo de texto ASCII que contiene definiciones de una tubería de Jenkins. Un Jenkinsfile usa una sintaxis declarativa o un formato de script maravilloso. Jenkinsfile contiene una serie de etapas y pasos que componen la tubería de Jenkins.

Cada paso en la tubería se ejecuta en un orden específico, y los pasos posteriores pueden usar los resultados de un paso. Utilizamos principalmente los pasos que se definen en una tubería de Jenkins para realizar las tareas automatizadas, como la construcción de aplicaciones, las pruebas e implementación.

Por defecto, el Jenkinsfile se incluye en el directorio raíz de un proyecto. Sin embargo, puede almacenarlo en una biblioteca única de Jenkinsfile en Jenkins. Esto le permite a Jenkins realizar un seguimiento del archivo Jenkins y monitorear cualquier modificación que se realice en la tubería. En caso de cambios en Jenkinsfile o el código fuente en el repositorio, Jenkins detecta automáticamente los cambios, crea el proyecto y ejecuta cualquier prueba que se define en Jenkinsfile.

Este tutorial cubre los conceptos básicos de crear y escribir un Jenkinsfile básico utilizando una sintaxis declarativa.

Anatomía de un jenkinsfile básico

El siguiente ejemplo muestra un Jenkinsfile básico. Usamos esto para mostrar cómo se configura un Jenkinsfile y cómo usarlo:

tubería
agente cualquiera
etapas
etapa ('hola')
pasos
echo 'hola mundo'



Un Jenkinsfile está compuesto por los bloques de construcción proporcionados. Desglosemos lo que implica cada bloque.

  1. Pipeline: el bloque de tuberías le dice a Jenkins que cualquier comando que se define en este bloque se trata como parte de la configuración de la tubería y los pasos. Este es el bloque de nivel superior en Jenkinsfile. Puede definir otros elementos por encima del bloque de tuberías, como variables.
  2. Agente: un agente es un nodo de agente de Jenkins que se utiliza para ejecutar los pasos en una tubería de Jenkins. Un agente puede ser una máquina física, una máquina virtual o un contenedor.
  3. Etapa: el bloqueo del escenario se refiere a un grupo de pasos en una tubería de Jenkins. Las etapas se utilizan para agrupar los pasos relacionados y controlar el orden en que se ejecutan.
  4. Paso: la siguiente parte es el bloque de pasos. Esto se usa para definir una sola tarea en una tubería de Jenkins. Cada paso en el Jenkinsfile se ejecuta en el orden en que se definen.

En el ejemplo anterior de la tubería, definimos una sola etapa llamada Hello. Definimos un paso simple en el escenario que imprime la cadena "Hello World" en la consola.

Ejecutando un jenkinsfile

Para ejecutar un Jenkinsfile, siga los pasos que se muestran en lo siguiente:

  1. Instale Jenkins en su máquina o obtenga una instancia de Jenkins de un proveedor de nube. Puede consultar nuestro tutorial sobre cómo instalar Jenkins en Windows o Linux para obtener más información.
  2. Cree un nuevo proyecto de tuberías de Jenkins haciendo clic en el enlace "Nuevo elemento" en el tablero y seleccionando la opción "Pipeline".
  3. En la sección "Pipeline", elija el "Script de la tubería".
  4. Pegar el contenido del Jenkinsfile que se proporcionan en el ejemplo anterior.
  5. Guarde el proyecto haciendo clic en el botón "Guardar".
  6. Haga clic en el botón "Build Now" para ejecutar Jenkinsfile.

Puede ver la salida del Jenkinsfile haciendo clic en el número de compilación en la sección "Build History" en el tablero.

Dirígete a la sección "Salida de la consola" para ver el mensaje desde el comando echo.

Es bueno tener en cuenta que puedes definir mucho más en un jenkinsfile. Algunos bloques comunes que puede encontrar incluyen lo siguiente:

  1. Medio ambiente: el bloque de entorno se utiliza para establecer las variables de entorno en las que pueden usar los pasos en Jenkinsfile.
  2. Publicar: podemos usar el bloque Post para especificar los pasos que deben ejecutarse después de que se completen los pasos de la tubería principal.
  3. Prueba/captura: otro bloque estándar es el bloque de try/captura. Esto se usa para manejar las excepciones que pueden ocurrir durante la ejecución de la tubería de Jenkins. Puedes explorar nuestro tutorial sobre eso para aprender más.
  4. Paralelo: el bloque paralelo nos permite definir una serie de pasos que se ejecutan en paralelo.
  5. Entrada: también encontrará el bloque de entrada en la mayoría de Jenkinsfile. Este bloque se utiliza para pausar la tubería de Jenkins y solicitar una entrada del usuario.
  6. Marcas de tiempo: finalmente, otro bloque estándar dentro de un Jenkinsfile es el bloque de marcas de tiempo. Esto se usa para agregar las marcas de tiempo a la salida de la tubería Jenkins.

Puede explorar la documentación sobre la sintaxis declarativa de Jenkins para obtener más información sobre los diversos bloques que puede usar.

Conclusión

Discutimos cómo puedes crear un jenkinsfile. También cubrimos la anatomía de un jenkinsfile explorando un canal de saludo principal de Hello World.