¿Qué es CI/CD? ¿Y DevOps? ¿Puedo utilizar una canalización de CI/CD para la gestión y operativa de mi infraestructura de nube o multinube? ¿Cómo beneficiará a mi negocio? Estas son las preguntas más comunes que nos podrían surgir, vamos a tratar de aclararlas.
Una canalización de CI/CD se refiere al proceso integrado de despliegue continuo de código. En ingeniería de software, los desarrolladores utilizan este tipo de canalización o Pipeline CI/CD para ofrecer la versión más reciente de su software a través de un proceso con diferentes fases integradas (test, calidad y aprobaciones de versiones entre otras). Por lo tanto, su objetivo principal es mejorar la velocidad y la calidad en la entrega de software mediante automatización.
Teniendo en cuenta lo beneficioso que se muestran este tipo de procesos integrados en el desarrollo de software actual, y que nuestro actual paradigma es la tendencia a disponer de infraestructura que puede ser desplegada por código, no es de extrañar que el concepto de Infraestructura como Código (IaC), y este tipo de procesos de canalización integrada esté teniendo cada vez más fuerza. Hablamos de Azure ARM y sus plantillas, de Terraform o sus despliegues multibube…una tecnología en aumento.
En este post, vamos a ver a alto nivel la creación con Azure DevOps de este tipo de canalizaciones, y la infinidad de usos y potencia de la que disponemos para operar nuestra infraestructura controlando su versionado, pautas de despliegue y validación.
Crearemos una canalización, utilizando un repositorio de versiones que alojará nuestra infraestructura definida en archivos con lenguage Bicep. Compilaremos el código y lo desplegaremos en Azure.
Empezamos con la creación de CI/CD con Azure DevOps.
Seguiremos estos pasos para crear una canalización correcta de CI/CD de Azure DevOps.
1. Creación de organización
- Usaremos la dirección URL: DevOps.azure.com e inicie sesión en Azure DevOps.
- Después de esto, presionamos el enlace Nueva organización y cree una organización. También ayudará a la navegación de su proyecto. Cuando se le soliciten los Términos y condiciones, elija Continuar.
- Ahora, completamos los detalles en la pantalla como el nombre de la organización, la ubicación, el captcha y continuamos.
2. Elaboración de un nuevo proyecto
Hemos creado la organización. Recibirás un correo electrónico de confirmación sobre el mismo. Al hacer clic en el enlace incluido, te redirige a una página para la creación de nuevos proyectos.
- Una vez en la página, agregamos el nombre del proyecto y seleccionamos su visibilidad (i.e privada). Además, elegiremos Scrum y Git en la pestaña avanzada.
- Presionamos el botón Crear proyecto.
- Después de esto, llegará al panel de control de la organización.
3. Creando nuestra Pipeline con archivos Bicep
El siguiente paso es crear la canalización y para ello, utilizaremos los archivos Bicep que tendremos en el repositorio que crearemos a continuación.
- En el panel de control de la organización, haga clic en el nombre del proyecto.
- En la pantalla, tendrás varias opciones. Elija Pipelines (Canalizaciones) y, a continuación, New Pipeline (Nueva canalización).
- Previamente, desde nuestra cuenta de GitHub debemos haber clonado (fork) el siguiente repositorio con el código Bicep que nmos implementa una cuenta de almacenamiento, una red virtual, un grupo de seguridad de red y un punto de conexión privado para la cuenta de almacenamiento de la red https://github.com/Ba4bes/AzDo-Bicep
- Una vez clonado, ya podemos seleccionar GitHub como código fuente tal y como se muestra en la imágen y el repositorio creado previamente en nuestro espacio de Github con el nombre «pipelines-dotnet-core».
- Es el momento de autorizar el acceso de Azure Pipelines al repositorio de GitHub. Requiere que inicies sesión con tus credenciales de GitHub. Aquí, debe «Aprobar e instalar».
- Ahora, desde el entorno Azure Devops, en la sección de configuración.
- Revisamos el archivo (azure-pipeline.yml) y seleccionamos «Guardar y Ejecutar».
- Aparecerá una ventana emergente. Aquí, debe ingresar su mensaje, que es seguido de hacer clic en «Guardar y ejecutar» haciendo el commint sobre la rama por defecto creada.
La canalización básica de CI/CD de Azure DevOps está lista y se podría empezar a utilizar para compilar y ejecutar su código.
Una vez instalada y en ejecución, la administración de la canalización de CI/CD de Azure DevOps es crucial. Para ello, puede usar la CLI de Azure. e.
Aquí vemos la salida correcta y la creación de los recursos en nuestro tenant:
Nota: si al ejecutar os devuelve error «##[error]No hosted parallelism has been purchased or granted.», os dejamos las instrucciones de resolución en el siguiente enlace. Es debido a un cambio reciente por Microsoft en la permisividad de lanzar tareas concurrentes por abusos previos.
Conclusión
Azure DevOps es una herramienta excelente para crear una canalización de CI/CD por varios motivos. Permite que los proveedores de servicios de canalización de implementación de Azure DevOps se comuniquen y colaboren con otros equipos. Como resultado, aumenta su productividad y da como resultado productos de alta calidad. Además, reduce el tiempo que tardan en entregar los productos.
Os animamos a compartir con nosotros vuestras opiniones en X: @mundoazure