El propósito de este documento es guiar en el proceso de ejecución de los diferentes pipelines para WebPublica que se tienen en los flujos de DevOps. Este documento está dirigido a los LT, arquitectos, desarrolladores, operaciones, equipo de testing y demás personal técnico que necesite realizar una ejecución de un pipeline de WebPublica.

CONTROL DE VERSIONES DEL DOCUMENTO

VERSIÓN FECHA DESCRIPCIÓN RESPONSABLE
1.0 20/08/2024 Versión inicial Daniel Márquez

Alcance

  • El pipeline de WebPublica realiza la publicación de un proyecto de Wordpress desde el código fuente de un repositorio de git.
  • Gestiona automáticamente la creación de las ramas y etiquetado para las etapas de certificación y producción.

1. Requisitos

  • Accesos a bitbucket para la actualización de fuentes
  • Accesos a la Heramienta Devops: Jenkins
  • Cumplir con la estructura.

2. Configuraciones previas

Estructura de Carpetas

Antes de poder crear un pipeline o ejecutarlo, se debe realizar la configuración del repositorio, en el cual debe tener:​

  • Carpeta cfg: Dentro de esta carpeta debe de existir el archivo 'devops.properties' en el cual reposan las configuraciones necesarias para la ejecución del pipeline. ​
  • Carpeta wp: Adicionalmente se requiere tener todos los archivos que van a ser cargados en el blob storage dentro de una carpeta llamada 'wp'.​
  • Archivo VERSION: Dentro de este archivo solo debe tener el numero de la versión de la aplicación para un mejor control de fuentes.​

Devops Properties

El repositorio dentro de la carpeta de cfg debe existir el archivo devops.properties, el cual debe tener lo siguiente:

  1. Variables para indicar cuales son los stages que se van a ejecutar en el pipeline.​

  2. Variables de la etapa del Delivery del pipeline, acá se definen:​

    • Tipo de Delivery: En este caso, es un blob de webpublica (blob_wp).​
    • Fuente del Delivery: Indica la carpeta que va a desplegarse en blob storage, en este caso es la carpeta 'wp'.​
    • Container del Delivery: Indica el contenedor del blob storage donde se desplegará la fuente, en este caso el contenido de la carpeta 'wp' se cargará en el container 'web-publica'.​
    • Blob Storage del Delivery: Indica el nombre del storage donde se va a realizar la carga del código. ​ En caso de que la carga de la aplicación se deba realizar en varios blobs storages, debe anotarse separados por comas, como en el ejemplo: 'dev.stages.delivery.blobstorage'​

​Una plantilla del devops properties seria la siguiente:

dev.flow=delivery
cert.flow=delivery
prod.flow=delivery

#DESARROLLO

# Delivery
dev.stages.delivery.type=blob_wp
dev.stages.delivery.source=wp
dev.stages.delivery.container=web-publica
dev.stages.delivery.blobstorage=scappdev1,scappdev2,scappdev3

#####################################

#CERTIFICACION

# Delivery
cert.stages.delivery.type=blob_wp
cert.stages.delivery.source=wp
cert.stages.delivery.container=blob-wp
cert.stages.delivery.blobstorage=scappcert

#####################################

#Production

# Delivery
prod.stages.delivery.type=blob_wp
prod.stages.delivery.source=wp
prod.stages.delivery.container=blob-wp
prod.stages.delivery.blobstorage=scappprod

3. Pipeline de WebPublica - Desarrollo

Para ubicar el pipeline de Desarrollo desde Jenkins, debe dirigirse a la carpeta del Team, en este caso "WebPublica" e ingresar en la carpeta de Dev, alli buscar el pipeline creado previamente con el Gencli.

Si se desea ejecutar el pipeline desde una rama feature en específico se debe marcar la opción "FEATURE_BRANCH" o en caso de seleccionarse esta opción, se ejecutará por defecto desde la rama develop.

4. Pipeline de WebPublica - Certificacion

Para ubicar el pipeline de Certificacion desde Jenkins, debe dirigirse a la carpeta del Team, en este caso "WebPublica" e ingresar en la carpeta de Cert, alli buscar el pipeline creado previamente con el Gencli.

Si se desea ejecutar el pipeline desde una rama hotfix en específico se debe marcar la opción "HOTFIX_BRANCH" en caso de no seleccionar ninguna rama, se ejecutará por defecto desde la rama develop.

Una vez se ejecute este pipeline, se realizará una nueva rama en el repositorio con esta versión, la cual se utilizará para realizar el pase a producción.​

​En los logs del pipeline, podemos visualizar el siguiente indicando:​

  • Número de Versión​
  • Rama release​
  • Tag del release​

5. Pipeline de WebPublica - Produccion

Para ubicar el pipeline de Produccion desde Jenkins, debe dirigirse a la carpeta del Team, en este caso "WebPublica" e ingresar en la carpeta de Prod, alli buscar el pipeline creado previamente con el Gencli.

Para la ejecución se debe de realizar lo siguiente:​

  • Hacer click en Build with Parameter.​
  • Ingresar la rama release, si no se especifica el pipeline fallará. La rama release se genera con la ejecucion del pipeline de Cert.​
  • Hacer click en el botón de Ejecutar.​