Manual de usuario, Despliegues Azure QA-PDN
Manual de usuario del Despliegues Azure DevOps QA-PDN
Fecha: 15 de Julio de 2024
Unisys Confidential
This document is confidential and proprietary to Unisys Corporation. It is not to be used,
reproduced, or disclosed outside Unisys without the written consent of Unisys Corporation.
The information in this document is furnished for use by Unisys support personnel in
servicing customer’s equipment or by a customer under a license agreement with Unisys.
1
Manual de usuario, Despliegues Azure QA-PDN
Historial de versiones del documento
Sección
Fecha Versión Descripción del cambio Autor
modificada
15/07/24 1.0 Todas Versión inicial Juan Pablo Urrego, Mateo
Sepulveda, Andres
Martinez, Jhon Ramirez y
Anderson Durango
2
Manual de usuario, Despliegues Azure QA-PDN
Contents
Historial de versiones del documento ............................................................................ 2
1. Introducción .......................................................................................................... 4
1.1. Propósito ........................................................................................................ 4
1.2. Alcance .......................................................................................................... 4
1.3. Definiciones, acrónimos y abreviaciones .......................................................... 4
1.4. Estructura de la herramienta............................................................................ 5
2. Estructura detallada............................................................................................... 6
2.1. Front-End ....................................................................................................... 6
2.2. Intervención humana ...................................................................................... 8
2.3. Pipeline Azure DevOps .................................................................................... 9
3. Proceso completo (en imágenes) .......................................................................... 14
4. Errores conocidos ................................................................................................ 23
4.1. Json NO Existe .............................................................................................. 23
4.2. Fallo en despliegue al repositorio ................................................................... 23
4.3. Json No valido ............................................................................................... 24
4.4. Operación cancelada .................................................................................... 25
5. Recomendaciones y observaciones ...................................................................... 26
3
Manual de usuario, Despliegues Azure QA-PDN
1. Introducción
1.1. Propósito
El objetivo de este documento es ilustrar a los analistas tanto de Unisys como de
Grupo Éxito. Este documento es un manual de usuario que contiene procedimientos
detallados del correcto uso de las herramientas de Desarrolladas por Unisys
Corporation, implementando herramientas Microsoft y DevOps para el paso de
objetos entre ambiente de Calidad QA a ambiente productivo PDN.
1.2. Alcance
Esta metodología debe ser adoptada por las personas encargadas del proceso de
CPY, evitando manualidades excesivas dentro de un proceso tan critico como es el
paso de objetos ya aprobados por el cliente a ambiente productivo.
Este nuevo proceso elimina mucha de las manualidades que realizan los respectivos
operadores, eliminando un porcentaje de error humano y ayudando a la fluides del
proceso, sin dejar de lado temas como históricos y procesos prestablecidos en el
desarrollo de dicha actividad.
1.3. Definiciones, acrónimos y abreviaciones
Definición, acrónimo, abreviación Descripción
Source control Hace relación al repositorio en la nube que controla
las versiones de todos los códigos fuentes.
GLI-GLP Lógicas globales insertables y performables.
Workspace Espacio de trabajo donde se bajan las últimas
versiones de los elementos para ser modificadas
por dada analista.
Pipeline Flujo de trabajo automatizado que corre en Azure
DevOps.
Azure DevOps Cultura colaborativa que proporciona
características integradas a las que puede acceder
a través de tu explorador web o cliente IDE.
Json Formato de texto que forma parte del sistema de
JavaScript y que se deriva de su sintaxis, pero no
tiene como objetivo la creación de programas, sino
el acceso, almacenamiento e intercambio de datos
QA Abreviación de Ambiente de Calidad
PDN Abreviación de Ambiente de Producción
Front-end Aquello que ven los usuarios e incluye elementos
visuales, como botones, casillas de verificación,
gráficos y mensajes de texto
Back-end Son los datos y la infraestructura que permiten que
la aplicación funcione
4
Manual de usuario, Despliegues Azure QA-PDN
PowerShell es una interfaz de consola con posibilidad de
escritura y unión de comandos por medio de
instrucciones
1.4. Estructura de la herramienta
El proceso para el paso mediante Azure DevOps está separado en una fase Front-
end y otra en Back-end. La fase del Front-end se implementa mediante la
herramienta gratuita de Microsoft Forms, la cual está diseñada con la misma plantilla
que ya se implementa mediante Excel; de fondo esta va llenando un formulario Excel
online el cual solo será accesible por los responsables del paso. En la sección del
Back-end se están implementando macros on-line en la herramienta de Excel y se
implementa también la herramienta de Pipeline de Azure DevOps que es la
encargada de realizar el paso del objeto de EAE entre los diferentes ambientes
relacionados. De igual forma en la ejecución de dicho Pipeline esta una
implementación de un Web Service que es el encargado de mantener el histórico de
CPY que se está implementando actualmente y que sirve para temas de auditoria
con SOX.
5
Manual de usuario, Despliegues Azure QA-PDN
2. Estructura detallada
2.1. Front-End
Para la parte del Front-end se implementó la herramienta gratuita de Microsoft Forms,
la cual almacena un formulario que cuenta con las mismas preguntas que tiene el
Excel actual de CPY (Formato [Link]). Este formulario se encuentra en la url
[Link] y debe ser diligenciado por la persona de
Grupo Éxito encargada de inscribir los cambios para ser evaluados por el comité. Al
documento se encuentra asociado a un archivo de Excel Online, que a fecha de hoy
se encuentra en el drive de Unisys en el enlace: Formato CPY [Link]. Este
archivo cuenta con un respaldo que NO se alimenta en línea y se encuentra en la
ruta: Formato CPY [Link].
6
Manual de usuario, Despliegues Azure QA-PDN
Ilustración 1 - Formulario CPY
Ilustración 2 - Archivo Excel Online
Ilustración 3 - Zona de automatización del Excel Online
El archivo de Excel Online entrega un script ya parametrizado que se encuentra en
esta ruta (Convertir a [Link]). El script es el encargado de convertir cada una de
las líneas del Excel en un Json, que es uno de los insumos para el proceso del
Pipeline. Su relevancia radica en que entrega ya parametrizada la entrada y
procesamiento del pipeline.
7
Manual de usuario, Despliegues Azure QA-PDN
Ilustración 4 - Código de Convertidor a Json
2.2. Intervención humana
Al ser un proceso que cuenta con una aprobación por parte del comité de cambios de
QA a PDN, existe un proceso humano que se encarga de validar los ingresos
realizados en el Excel Online. La persona debe estar en capacidad de ingresar,
modificar o eliminar registros según corresponda la necesidad del momento;
adicionalmente una vez finalizado dicho comité y los cambios ya estén aprobados, es
necesario la interacción del humano con el Script del Excel Online para generar el
insumo que permita el arranque del proceso de paso de objetos de Calidad a
Producción. Una vez el insumo esté en las manos del operador, este se debe guardar
en un archivo de tipo .json con la siguiente estructura de nombre “releasePDN-CM-
<FechaDíaEjecución>.json”, y es necesario que se cargue en el repositorio destinado
([Link]
[Link]/SINCO_DESARROLLO/_versionControl?path=%24/SINCO_
DESARROLLO/DeploymentScripts) incluyendo, de ser necesario, un comentario que
identifique y/o justifique el despliegue de los objetos.
8
Manual de usuario, Despliegues Azure QA-PDN
Ilustración 5 - Repositorio Cambios QA-PDN
Ilustración 6 – Ejemplo Archivo Json
2.3. Pipeline Azure DevOps
Se utiliza Azure DevOps, específicamente las secciones de Repositorios y Pipelines.
Se emplea el agente previamente establecido para los pasos de Desarrollo a QA –
SincoAgent-, pero utilizando diferentes scripts de PowerShell en un pipeline dedicado
a QA-PDN. Adicionalmente, se implementa un servicio web que se conecta a la base
de datos de CPY, permitiendo la integración con el historial de dichos datos.
Manual Operativo del Pipeline de Azure DevOps "Despliegue QA-PDN".
Este manual describe la configuración y tareas del pipeline de Azure DevOps
"Despliegue QA-PDN", incluyendo las variables, las tareas del job y los triggers
configurados.
Pipeline: Ejecución manual en la consola de Azure DevOps.
9
Manual de usuario, Despliegues Azure QA-PDN
Ilustración 7 - Ejecución del Pipeline
Job y Tareas.
Job 1: Agent job 1
Este job se ejecuta en un agente y contiene las siguientes tareas:
Set variables beauty deploy (Inline PowerShell): Este script de PowerShell se
utiliza para establecer varias variables de pipeline importantes antes de la ejecución
de las siguientes tareas. Configura marcas de tiempo, rutas de trabajo, fechas de
liberación, credenciales del repositorio, y resultados del despliegue, asegurando que
estas variables estén disponibles para las tareas subsecuentes en el pipeline.
Copy Files (Copy files to: $([Link])): Esta tarea copia
todos los archivos utilizando patrones específicos de la carpeta DeploymentScripts
del repositorio SINCO_DESARROLLO al directorio de trabajo predeterminado del
sistema, -El primer patrón copia todos los archivos con la extensión .ps1 en cualquier
subcarpeta. El segundo patrón copia archivos JSON específicos que coinciden con
el patrón releasePDN-CM-S-$(ReleaseDate).json, donde $(ReleaseDate) es una
variable que se resuelve en tiempo de ejecución - se sobrescriben los archivos si ya
10
Manual de usuario, Despliegues Azure QA-PDN
existen en la carpeta de destino, pero no se limpian los archivos preexistentes ni se
aplana la estructura de directorios durante el proceso de copiado. Esta tarea es
fundamental para preparar los scripts y archivos necesarios para las siguientes
etapas del pipeline.
PowerShell Script - create beuty file source repository deploy.
PowerShell Script - create beuty file destination repository rollback: Esta tarea
ejecuta el script de PowerShell create_beuty.ps1 ubicado en el directorio de trabajo
predeterminado del sistema. El script se invoca con varios argumentos que se
resuelven en tiempo de ejecución utilizando las variables de pipeline previamente
definidas. Los argumentos proporcionan la información necesaria para que el script
realice las operaciones específicas relacionadas con la creación del archivo fuente
del repositorio de despliegue de belleza. Esta tarea es crucial para preparar y
configurar el entorno y los archivos necesarios para el despliegue.
PowerShell Script - load mdl destination repository deploy.
PowerShell Script - load mdl destination repository rollback: Esta tarea carga el
repositorio de destino de despliegue mdl. Esta tarea ejecuta el script de PowerShell
loadMdlFiles.ps1 ubicado en el directorio de trabajo predeterminado del sistema. El
script se invoca con varios argumentos que se resuelven en tiempo de ejecución
utilizando las variables de pipeline previamente definidas. Los argumentos
proporcionan la información necesaria para que el script realice las operaciones
específicas relacionadas con la carga de archivos mdl en el repositorio de destino
durante el proceso de despliegue. Esta tarea es crucial para mover y preparar los
archivos necesarios en el repositorio de destino para asegurar que el despliegue se
realice correctamente.
Create data record in cpy cpyWS (PowerShell Script): Esta tarea de PowerShell
ejecuta un script inline para procesar datos y realizar llamadas a un servicio web en
e-portal que registra los datos históricos en CPY, es fundamental para procesar los
datos capturados, limpiarlos y enviarlos a un servicio web específico mediante
solicitudes POST, asegurando que los datos sean manejados y transmitidos
correctamente.
Triggers
Continuous Integration: Continuous integration está habilitado para el repositorio
SINCO_DESARROLLO.
Path filters: Tipo: Include.
Path specification: $/SINCO_DESARROLLO/DeploymentScripts
Gated check-in: Gated check-in está deshabilitado.
Scheduled: No hay builds programados.
Build completion: No hay builds configurados para completarse.
11
Manual de usuario, Despliegues Azure QA-PDN
Variables configuradas en el pipeline
El pipeline tiene configuradas las siguientes variables de entorno:
eaeRepoDestination: Repositorio de destino en el formato DLLOQA\BDPSINCO\.
eaeRepoDestinationPsw: Password del usuario que realiza el despliegue en el
repositorio destino.
eaeRepoDestinationServernodespecificationsPort: Puerto del repositorio destino.
eaeRepoDestinationServernodespecificationsServer: Servidor del repositorio
destino.
eaeRepoDestinationUser: Usuario que realiza el despliegue en el repositorio
destino.
eaeRepoSource: Repositorio de origen en el formato DLLO2\BDPSINCO\
eaeRepoSourcePsw: Password del usuario que realiza el despliegue en el origen.
eaeRepoSourceServernodespecificationsPort: Puerto del repositorio origen.
eaeRepoSourceServernodespecificationsServer: Servidor del repositorio origen.
eaeRepoSourceUser: Usuario que realiza el despliegue en el repositorio origen.
RutaLogsProceso: E:\EAE Program Files\DLOQA\
RutaRepositorioPDN: Ruta de la instalación de EAE, para el repositorio destino en
formato E:\EAE Program Files\DLOQA\
RutaRepositorioQA: Ruta de la instalación de EAE, para el repositorio origen en
formato E:\EAE Program Files\DLLO2\
Referente a la tarea “Create data record in cpy cpyWS (PowerShell Script)”, que
realiza el POST al servicio que registra en el sistema de CPY, el despliegue se debe
tener en cuenta las siguientes configuraciones:
Nombre del Servicio: cpyWS
Cluster que lo almacena: 1 y 2.
Nombre de Bundles en servidor CPY (tanto en QA como en PDN): eportal_cpy
Pantallas del bundle: SAPQA-SAREP-SCLAV-SMEA1-SMEAE-SMENP-SMENU-
SMNP2
En ambiente QA PDN:
-Endpoint CPY QA: [Link]/cpyWS/ep/cpyWS/EnviaCPY
-Estrucutra de JSON a enviar:
{
"CEDULA": 0,
"CLAVE": "string",
"NOMREP": "string",
"TIPO": "string",
"DESCRIP": "string",
"DESCRIP1": "string",
"DESCRIP2": "string"
}
12
Manual de usuario, Despliegues Azure QA-PDN
-Endpoint CPY PDN: [Link]-
[Link]/cpyWS/ep/cpyWS/EnviaCPYPDN
-Estrucutra de JSON a enviar:
{
"CEDULA": 0,
"CLAVE": "string",
"IDCAMBIO": "string",
"TIPOSOL": "string",
"NUMERO": 0,
"NOMREP": "string",
"NUEVO": "string",
"TIPO": "string",
"POBLACION": 0,
"DESCRIP1": "string",
"DESCRIP2": "string",
"DESCRIP3": "string"
}
Para realizar un despliegue ante cualquier cambio hecho en el web Service, es
necesario crear un clic con el nombre del proyecto y la versión de WS en la que se
encuentre ePortal. Esto se relaciona en el Visual Studio y posteriormente se debe
enviar un correo electrónico al grupo de Admon SINCO (*LARCAdmonSINCOunis
LARCAdmonSINCOunis@[Link]), solicitando el despliegue. A continuación, se
deja un ejemplo de cómo sería la estructura del correo:
Ilustración 8 - Estructura correo despliegue WS
13
Manual de usuario, Despliegues Azure QA-PDN
3. Proceso completo (en imágenes)
Llenado de Formulario
14
Manual de usuario, Despliegues Azure QA-PDN
Envío de datos al formulario
Dato insertado en el Excel Online
15
Manual de usuario, Despliegues Azure QA-PDN
Ejecución de Script
16
Manual de usuario, Despliegues Azure QA-PDN
Creación de archivo Json con fecha del 17 de Julio de 2024
Cargar archivo Json en el repositorio
17
Manual de usuario, Despliegues Azure QA-PDN
18
Manual de usuario, Despliegues Azure QA-PDN
Archivo ya adjunto
Ingreso al listado de Pipelines
Ejecución de Pipeline
19
Manual de usuario, Despliegues Azure QA-PDN
Ejecución en proceso del Pipeline
20
Manual de usuario, Despliegues Azure QA-PDN
Resultado de la ejecución
Revisión de data que va a pasar por el WS
21
Manual de usuario, Despliegues Azure QA-PDN
Correo de finalización de Pipeline recibido
22
Manual de usuario, Despliegues Azure QA-PDN
4. Errores conocidos
4.1. Json NO Existe
Una vez ejecutándose el Pipeline se observa que este se cancela automáticamente en el
Powershell de nombre: “Inline Powershell – validate json file”.
Este, como su nombre lo indica, hace referencia a que el archivo .json no se encuentra
ubicado en el área correspondiente del repositorio.
4.2. Fallo en despliegue al repositorio
Una vez ejecutándose el Pipeline se observa que este se cancela automáticamente en el
Powershell de nombre: “PowerShell Script - create beuty file source repository deploy”
Este fallo se puede presentar por fallo de sintaxis o algún fallo en alguno de los objetos que
está procesando el repositorio. Si este se presenta se deben revisar los objetos que se van
a desplegar, pero estos aún no han llegado a ambiente productivo.
23
Manual de usuario, Despliegues Azure QA-PDN
4.3. Json No valido
Una vez ejecutándose el Pipeline se observa que este se cancela automáticamente en el
Powershell de nombre: “Inline Powershell - validate json file”
Este fallo, como su nombre lo indica, hace referencia a una incoherencia en el insumo de
entrada para el Pipeline (archivo .json) que es procesado. Normalmente puede ser debido
a un error de sintaxis.
24
Manual de usuario, Despliegues Azure QA-PDN
4.4. Operación cancelada
NO es un error, sino un mensaje de alertamiento que surge cuando un usuario autorizado
procede a detener o cancelar el funcionamiento normal del Pipeline. Esta se puede dar en
cualquier paso del proceso y es por intervención humana. En la información general del
pipeline indica quien fue el responsable.
25
Manual de usuario, Despliegues Azure QA-PDN
5. Recomendaciones y observaciones
26