Dentro de los conceptos de DevOps nos topamos con la entrega continua, que no es más que una extensión de la integración continua, donde se automatiza el proceso de entrega de un software, lo que permite conseguir implementaciones fáciles y confiables. Este proceso se puede apoyar de una metodología ágil, lo que resulta en un engranaje que logra realizar entregas de forma continua y rutinaria, sin que suponga cambios en este proceso, sino en el producto de código que se implementa.
En el primer artículo de integración continua, configuramos un pipeline que integra de forma continua en la rama principal (master) los cambios que envían los desarrolladores de un equipo, a continuación, presentaremos el paso a paso, para configurar ahora un pipeline de entrega continua, para reflejar los cambios de los objetos en una base de datos local.
Para configurar el pipeline, nos dirigimos a la pestaña «Pipelines» en la sección «Releases«, y seleccionamos «New pipeline«:
Creando un pipeline de release
A acontinuación, tendremos la siguiente ventana, donde seleccionaremos una plantilla vacía:
Asignamos un nombre al «Stage«:
Seleccionamos el artefacto, que es la última versión del resultado de nuestro pipeline de integración continua:
Continuamos seleccionando y configurando nuestro trigger para la entrega continua:
Seleccionamos la opción que cree un release cada vez que se genere un nuevo código compilado, y el tipo de compilación que sea una inclusión en la rama master:
Continuaremos creando las tareas del pipeline, comenzando con el agent job, que será el encargado de la conexión con la base de datos, para ello, adicionalmente necesitaremos configurar un «agent pool» con la conexión al servidor que utilizaremos localmente:
Creando y configurando el agente
Creamos un nuevo agente, haciendo click en el botón, esto abrirá una ventana donde podremos descargar el instalador en windows o el sistema operativo que utilices:
Una vez descargado, ejecutamos el archivo de configuración:
Antes de continuar con la configuración, es necesario crear un token de acceso desde la web, ingresando a la opción «Personal access tokens«:
Regresamos a la configuración del agente, donde nos solicitará la url del servidor, la autenticación por token y la configuración del agente:
Al finalizar, quedará activo, escuchando por los jobs que se puedan ejecutar:
En la web podremos verificar la creación y estado del agente que creamos:
En la configuración del pipeline, en nuestro caso, quedaría en el agente por defecto:
Creando tarea de despliegue de la base de datos
A continuación, crearemos una tarea adicional, para crear, modificar o eliminar los objetos de la base de datos, de acuerdo a nuestro artefacto compilado:
Seleccionamos como el archivo .dacpac de la base de datos que se encuentra en nuestro artefacto asociado:
Salvamos nuestro pipeline en la ruta por defecto:
Y listo! tenemos configurado el pipeline de entrega continua:
Probando la ejecución
Ahora, haremos una prueba para comprobar el funcionamiento del todo el proceso, tan fácil como hacer un «re-run» del proceso de integración continua, ubicado en la sección «Pipelines» de la pestaña del mismo nombre:
Una vez finalizado con éxito, vamos a la sección «Releases» de la pestaña «Pipelines«, y visualizaremos como inicia automáticamente el pipeline de release:
Si seleccionamos el botón azul, del estado de «en proceso«, podremos visualizar el detalle del log de ejecución:
Finalmente, nos dirigimos a la base de datos local, donde estamos realizando el despligue, para visualizar los cambios realizados por el proceso:
Adicionalmente, el agente nos brindará información sobre la ejecución:
Y con esto tendremos terminado nuestro proceso de integración y entrega continua con Azure DevOps.
Espero que les resulte de utilidad, y nos estaremos leyendo en próximas entradas.
Por favor, si tienes algún comentario, duda o sugerencia, no dudes en contactarnos a través de nuestro correo: info@notjustbi.com