Creación y configuración de Pylons en Azure DevOps

Clase 14 de 20Curso de Azure DevOps: Flujos de CI/CD

Resumen

Comprender la estructura organizacional de Azure DevOps y saber cómo configurar un pipeline son habilidades fundamentales para cualquier profesional que trabaje con integración continua. Aquí se desglosa paso a paso cómo funciona la jerarquía de cuentas, organizaciones, proyectos y repositorios, y cómo crear un pipeline desde cero utilizando un proyecto de React con Node.js.

¿Cómo se organiza la jerarquía en Azure DevOps?

Antes de trabajar con pipelines, es esencial entender cómo se estructura todo dentro de Azure DevOps. La plataforma maneja una jerarquía de cuatro niveles [0:18]:

  • Cuenta de Azure DevOps: es la cuenta maestra que agrupa todo.
  • Organizaciones: una cuenta puede tener múltiples organizaciones e incluso pertenecer a organizaciones externas que no fueron creadas directamente con esa cuenta.
  • Proyectos: cada organización puede contener múltiples proyectos.
  • Repositorios: cada proyecto puede alojar múltiples repositorios.

Cuando alguien te da acceso a un repositorio, ese repositorio pertenece a un proyecto, que a su vez está dentro de una organización vinculada a una cuenta. Tener clara esta relación es importante para gestionar permisos y entender el flujo de trabajo completo.

¿Qué es un pipeline y por qué es importante?

Un pipeline es una secuencia de comandos que se ejecuta automáticamente cada vez que se realiza un cambio en el código [1:28]. Su propósito es verificar que la aplicación compile correctamente, que las pruebas unitarias pasen y que todo esté listo para avanzar a la fase de publicación.

Este concepto es genérico y no exclusivo de Azure DevOps. Plataformas como GitHub Actions o GitLab también implementan pipelines con una lógica similar, generalmente definidos mediante archivos en formato YAML [3:40].

¿Cómo se crea un pipeline paso a paso?

Desde el portal de Azure DevOps, dentro de la sección de Pipelines, se selecciona la opción Create Pipeline [2:20]. El primer paso es elegir la fuente del código:

  • Azure Repos Git: repositorios dentro del mismo proyecto.
  • GitHub o BitBucket Cloud: repositorios externos que el pipeline inspeccionará para obtener la última versión del código.

También existe un editor clásico que permite crear el pipeline paso a paso sin editar directamente el archivo YAML, aunque esta opción se está descontinuando y no representa el estándar actual [3:20].

¿Cómo se configura el archivo YAML del pipeline?

Al seleccionar el repositorio y elegir un template predefinido como nodejs-with-react, Azure DevOps genera automáticamente un archivo con extensión .yml que se incorpora directamente al repositorio [4:04]. Los elementos clave de este archivo son:

  • Trigger (branch): define qué rama dispara la ejecución del pipeline. El pipeline extrae el código de esa rama específica para trabajar [4:20].
  • Pool (agente): especifica la máquina virtual que ejecutará los comandos. En el ejemplo se utiliza ubuntu-latest como sistema operativo [4:45].
  • Steps (tareas): la primera tarea instala Node.js y la sección de scripts ejecuta npm install para instalar dependencias y npm run build para compilar el proyecto [5:05].

En el ejemplo, se modifica la versión de Node de 10.x a 16.x, que al momento de la grabación era la última versión estable [5:30]. Al guardar con Save and Run, el archivo YAML se agrega al repositorio mediante un commit y un push, exactamente como se haría desde una máquina local con Git [5:50].

¿Qué hacer si el pipeline no se ejecuta por falta de permisos?

Es muy común encontrar un error que dice: "No hosted parallels has been purchased or granted" [6:20]. Esto significa que se debe solicitar acceso llenando un formulario de request proporcionado por Microsoft. El formulario pide nombre, correo electrónico, nombre de la organización y si el proyecto es público o privado [6:50].

La razón de esta restricción es que muchas personas han utilizado la ejecución automática de pipelines y sus máquinas virtuales para minar criptomonedas o realizar ataques de denegación de servicio, actividades ajenas al desarrollo de software [7:15]. Microsoft indica que el proceso de aprobación toma entre dos y tres días hábiles.

Una vez aprobado el acceso, el pipeline quedará listo para ejecutarse y se podrán agregar pasos adicionales de configuración sobre el template base de Node y React.

¿Ya solicitaste tu acceso a los pipelines de Azure DevOps? Comparte tu experiencia o dudas en los comentarios.