Pipeline
Sumario
Jenkins Pipeline
Esta página describe la estructura del archivo Jenkinsfile, necesario para la programación del Pipeline de cada proyecto que se despliegue con Jenkins.
Lo primero que se debe considerar es que el archivo Jenkinsfile debe estar contenido dentro de la raíz del proyecto, como se puede visualizar en la siguiente imagen.
De forma general, la estructura del archivo Jenkinsfile está dividida en 4 partes:
1. Importación de Librerías
2. Declaración de variables globales
3. Definición del Pipeline
4. Declaración de Funciones
Importación de Librerías
En esta sección se le indica a Jenkins cuáles serán las librerías externas que se necesitarán para realizar diversas operaciones a lo largo de la definición del Pipeline. En este caso utilizamos las siguientes dos librerías, las cuales nos permitirán trabajar con arreglos, como podrá ver más adelante.
Declaración de variables globales
El archivo Jenkinsfile está compuesto por un conjunto de funciones y por la definición del Pipeline, por lo que muchas veces será necesario configurar el valor de ciertos parámetros que posteriormente serán utilizados en otras partes del Pipeline. Para lograr esto, Jenkins nos permite definir cualquier cantidad de variables que sean necesarias, siguiendo la siguiente sintaxis.
def NOMBRE_VARIABLE
Para el proyecto que estamos empleando, se han definido las siguientes variables:
La función que cumple cada variable se describe a continuación:
- PATH_DEPLOYMENT: Es la carpeta en la cual se hará el despliegue del sistema, está directamente relacionada con la estructura de carpetas del IIS.
- PATH_CONFIGURATION: Es la carpeta en la cual se almacenan los archivos de configuración del proyecto (Web.config) específicos para el servidor en el cual se realiza la liberación del sistema (development, qa, etc.).
- PATH_BACKUP: Es la carpeta en la cual se realizará un respaldo completo del sistema, previo a realizar la liberación.
Definición del Pipeline
El Pipeline del proyecto que estamos desarrollando se compone de tres partes:
1. Parámetros
En este caso se utiliza la instrucción "agent any" para indicarle a Jenkins que cualquiera de sus nodos disponibles puede realizar el proceso de despliegue.
2. Triggers
_
3. Stages
_