Diferencia entre revisiones de «Pipeline»

De Telstock Wiki
Saltar a: navegación, buscar
(Definición del Pipeline)
(Jenkins Pipeline)
Línea 62: Línea 62:
  
 
     3. Stages
 
     3. Stages
 +
 +
En esta parte se define cada uno de los pasos que debe seguir Jenkins para realizar el despliegue del proyecto. En este ejemplo se utilizan 4 pasos:
 +
 +
# Inicialización
 +
 +
_
 +
 +
# Respaldo
 +
 +
_
 +
 +
# Despliegue
 +
 +
_
 +
 +
# Configuración
 +
 
_
 
_

Revisión del 18:25 8 ene 2019

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.

Jenkins

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
Estructura Jenkinsfile

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.

Librerías

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:

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

Se utiliza la instrucción "agent any" para indicarle a Jenkins que cualquiera de sus nodos disponibles puede realizar el proceso de despliegue.

Parámetros
    2. Triggers

Se utiliza el trigger pollSCM para comprobar periódicamente si existen cambios en el repositorio que deban integrarse. Mediante este trigger, Jenkins es capaz de detectar cuando sea necesario realizar un nuevo despliegue, el cual realizará de forma automática y siguiendo los pasos que se hayan definido en la sección de Stages.

La definición del periodo para este trigger se hace basándose en Cron

pollSCM
    3. Stages

En esta parte se define cada uno de los pasos que debe seguir Jenkins para realizar el despliegue del proyecto. En este ejemplo se utilizan 4 pasos:

  1. Inicialización

_

  1. Respaldo

_

  1. Despliegue

_

  1. Configuración

_