Mi Blog
Cómo crear tu primera pipeline en Azure DevOps

Cómo crear tu primera pipeline en Azure DevOps

 

Azure DevOps es una plataforma de herramientas de Microsoft diseñada para facilitar la colaboración entre equipos de desarrollo, pruebas y operaciones, ofreciendo integración continua (CI) y entrega continua (CD). Con Azure DevOps, podréis gestionar proyectos, rastrear tareas, alojar repositorios de código y automatizar flujos de trabajo para desplegar software de manera eficiente.

Seguid leyendo y os enseñaré a crear vuestra primera pipeline en DevOps Azure...

 

 

¿QUÉ ES DEVOPS AZURE?

Azure DevOps es una plataforma integral de Microsoft diseñada para facilitar la colaboración en equipos de desarrollo de software. Proporciona un conjunto de herramientas que soportan todo el ciclo de vida de desarrollo de aplicaciones, desde la planificación y el diseño hasta la implementación y el mantenimiento. Es especialmente útil para implementar prácticas de DevOps, un enfoque que combina desarrollo (Dev) y operaciones (Ops) para mejorar la colaboración y la eficiencia.

Los componentes clave de Azure DevOps son:

  1. Azure Boards: Es la herramienta para la gestión de proyectos que permite organizar tareas, rastrear el progreso y planificar actividades mediante tableros Kanban, backlogs y sprints ágiles.
  2. Azure Repos: Un sistema de control de versiones que soporta Git y Team Foundation Version Control (TFVC), permitiendo la colaboración en el código fuente.
  3. Azure Pipelines: Plataforma para CI/CD (Integración Continua y Despliegue Continuo), que automatiza la construcción, prueba y despliegue de aplicaciones en diferentes plataformas.
  4. Azure Test Plans: Ofrece herramientas para la planificación, ejecución y seguimiento de pruebas manuales y automatizadas para garantizar la calidad del software.
  5. Azure Artifacts: Es el sistema para gestionar paquetes y dependencias (como NuGet, NPM, Maven, etc.), permitiendo su uso y distribución en los proyectos.

 

Beneficios de usar Azure DevOps:

  1. Integración total: Compatible con muchas herramientas y lenguajes de programación.
  2. Multiplataforma: Funciona en Windows, Linux y macOS.
  3. Escalabilidad: Adecuado para equipos pequeños y grandes.
  4. Cloud y on-premises: Se puede usar como un servicio en la nube o como Azure DevOps Server para instalaciones locales.
  5. Colaboración mejorada: Unifica equipos en torno a un único conjunto de herramientas y procesos.

 

Azure DevOps es una solución potente para empresas y equipos que buscan optimizar sus procesos de desarrollo y entrega de software.

 

 

Web Oficial: https://dev.azure.com

 

 

Azure DevOps es la herramienta de Microsoft para CI/CD

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un equipo cualquiera con Windows, GNU/Linux o MacOS
  • Conexión a Internet
  • Cuenta en Microsoft Azure

 

 

2.- CREACIÓN DEL PROYECTO

Para crear un nuevo proyecto, primero debemos tener una organización ya creada. En caso de no tenerla podremos crearla haciendo click en "New organization" o "Nueva organización" (yo tengo Azure en inglés). En este ejemplo la organización que tengo es RAULPRIETOFERNANDEZ y dentro de ella, será donde hagamos las pruebas y donde crearemos nuestro proyecto.

Una vez que tenemos la organización creada, haremos click en "Create project" o "Crear proyecto":

Primera Pipeline DevOps AzureCreación del proyecto

 

 

3.- CREACIÓN DEL REPOSITORIO DE CÓDIGO

La pipeline, estará almacenada y versionada dentro de un repositorio de git en el propio Azure DevOps. Para ello, crearemos primeramente el repositorio haciendo click en "Repos" y posteriormente inicializaremos el repositorio haciendo click en "Initialize":

Primera Pipeline DevOps AzureCreación del repositorio Git

 

 

Una vez inicializado el repositorio, se creará el primer fichero de ejemplo llamado README.md. Este fichero es solo informativo y no lo vamos a utilizar en este ejemplo, pero git necesita al menos un fichero dentro del repositorio:

Primera Pipeline DevOps AzureReadme.md creado en el repositorio

 

 

4.- CREACIÓN DE LA PIPELINE

Para crear la pipeline haremos click en Pipelines, por ejemplo, en el menú izquierdo o en otra parte donde veamos el link:

Primera Pipeline DevOps AzureMenú de sumario

 

 

Desde pipelines, podremos ver y crear las pipelines:

Primera Pipeline DevOps AzureCrear la primera Pipeline DevOps Azure

 

 

El siguiente paso será seleccionar donde tenemos nuestro código. En este ejemplo, como no tenemos aún código fuente, todo lo vamos a guardar en un repositorio de git dentro de Azure, incluidas las pipelines, por tanto seleccionamos la primera de las opciones:

Primera Pipeline DevOps AzureSeleccionar donde está el código

 

 

Seleccionaremos el repositorio creado en los pasos anteriores:

Primera Pipeline DevOps AzureSeleccionar el repositorio Git

 

 

A continuación, podréis crear una nueva pipeline o seleccionar una que ya esté creada. En este ejemplo seleccionaremos "Starter pipeline" para crear una plantilla con el típico "Hola mundo":

Primera Pipeline DevOps AzureCrear una "starter pipeline"

 

 

La pipeline se componen de varias secciones:

trigger:
- main

 

  • trigger: Define en qué rama del repositorio se debe ejecutar automáticamente el pipeline.
  • main: Especifica que este pipeline se ejecutará cada vez que haya un cambio en la rama main.

 

 

pool:
vmImage: ubuntu-latest

 

  • pool: Indica en qué entorno o agente se ejecutará el pipeline.
  • vmImage: ubuntu-latest: Especifica que se utilizará una máquina virtual preconfigurada con la última versión de Ubuntu.

 

 

steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'

 

  • script: Define un comando o script que se ejecutará en el agente.
  • echo Hello, world!: Es el comando que se ejecutará, imprime "Hello, world!" en la consola.
  • displayName: Nombre amigable del paso que se verá en la interfaz del pipeline (Run a one-line script).

 

 

- script: |
echo Add other tasks to build, test, and deploy your project.
echo See https://aka.ms/yaml
displayName: 'Run a multi-line script'

 

  • script: Define otro script que se ejecutará.
  • |: Indica que el script será multi-línea.
  • echo Add other tasks...: Primera línea del script, imprime un mensaje en la consola.
  • echo See https://aka.ms/yaml: Segunda línea del script, imprime otro mensaje.
  • displayName: Nombre amigable del paso (Run a multi-line script).

 

 

La pipeline completa queda de la siguiente forma:

# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

trigger:
- main

pool:
vmImage: ubuntu-latest

steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'

- script: |
echo Add other tasks to build, test, and deploy your project.
echo See https://aka.ms/yaml
displayName: 'Run a multi-line script'

 

 

Una vez que guardemos la pipeline y ejecutemos "Save and run", la pipeline se guardará en el repositorio y se pondrá en cola para su posterior ejecución:

Primera Pipeline DevOps AzureGuardar y ejecutar la pipeline

 

 

Como puede verse, la pipeline se pone en cola antes de ejecutarse y aparece como job pendiente:

Primera Pipeline DevOps AzurePipeline en cola

 

 

Una vez ejecutada, podremos ir navegando por cada uno de los pasos y ver su ejecución:

Primera Pipeline DevOps AzureResultado de la pipeline

 

 

 

5.- MODIFICAR CÓDIGO DESDE VISUAL STUDIO CODE

Aunque no voy a explicar cómo importar vuestro repositorio de Git a Visual Studio Code, podréis hacer cambios en vuestra pipeline directamente desde Visual Studio Code y subir los cambios al repositorio de forma normal con git.

En el siguiente ejemplo cambiaremos:

- script: echo Hello, world!

 

 

Por:

- script: echo Hello, world from VScode!

 

 

Y subiremos los cambios desde Visual Studio Code:

Primera Pipeline DevOps AzurePipeline en Visual Studio Code

 

 

Una vez que hagáis el commit, la pipeline se ejecutará de forma automática como puede verse en la siguiente imagen en el segundo "run":

Primera Pipeline DevOps AzureSegunda ejecución de la pipeline

 

 

Si accedemos al run (la ejecución), podréis ver que ahora el Hello, World! ha cambiado por Hello, world from VScode!:

Primera Pipeline DevOps AzureResultado de la segunda ejecución desde VS Code

 

 

ENJOY!


Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.