¿Qué es Azure DevOps?
Azure DevOps es un conjunto de herramientas y servicios que permite a los equipos de desarrollo planificar, desarrollar, probar y entregar software de manera continua y eficiente. Azure DevOps proporciona una plataforma integrada que abarca todo el ciclo de vida del desarrollo de software, desde la planificación y el seguimiento del trabajo hasta la entrega y la monitorización de aplicaciones.
Componentes principales de Azure DevOps
Azure DevOps se compone de varios servicios clave que facilitan la colaboración y la entrega continua:
- Azure Boards: Herramientas de planificación y seguimiento del trabajo, como tableros Kanban, gráficos de burndown y backlogs.
- Azure Repos: Repositorios de control de versiones que soportan Git y Team Foundation Version Control (TFVC).
- Azure Pipelines: Servicios de integración continua (CI) y entrega continua (CD) que permiten compilar, probar y desplegar aplicaciones en cualquier plataforma.
- Azure Test Plans: Herramientas para la gestión de pruebas manuales y automatizadas.
- Azure Artifacts: Gestión de paquetes y dependencias, compatible con NuGet, npm, Maven y otros.
Beneficios de usar Azure DevOps
- Integración continua y entrega continua (CI/CD): Automatiza la compilación, prueba y despliegue de aplicaciones.
- Colaboración mejorada: Facilita la colaboración entre equipos de desarrollo, operaciones y calidad.
- Escalabilidad: Soporta proyectos de cualquier tamaño, desde pequeñas startups hasta grandes empresas.
- Flexibilidad: Compatible con una amplia variedad de lenguajes de programación, plataformas y herramientas de terceros.
Configuración inicial de Azure DevOps
Crear una organización en Azure DevOps
-
Acceder al portal de Azure DevOps:
- Navega a Azure DevOps.
- Inicia sesión con tu cuenta de Microsoft.
-
Crear una nueva organización:
- Haz clic en "New organization".
- Ingresa un nombre para tu organización.
- Selecciona la ubicación geográfica para almacenar tus datos.
- Haz clic en "Continue".
-
Crear un nuevo proyecto:
- Ingresa un nombre para tu proyecto.
- Selecciona la visibilidad del proyecto (pública o privada).
- Elige la plantilla de proceso (Agile, Scrum, CMMI).
- Haz clic en "Create project".
Navegación por la interfaz de Azure DevOps
Una vez que hayas creado tu organización y proyecto, te encontrarás con la interfaz principal de Azure DevOps, que incluye:
- Boards: Para la planificación y seguimiento del trabajo.
- Repos: Para la gestión del código fuente.
- Pipelines: Para la configuración de CI/CD.
- Test Plans: Para la gestión de pruebas.
- Artifacts: Para la gestión de paquetes.
Ejemplo práctico: Configuración de un pipeline de CI/CD
Paso 1: Crear un repositorio en Azure Repos
- Navega a la sección "Repos" en tu proyecto.
- Haz clic en "Initialize" para crear un nuevo repositorio Git.
- Clona el repositorio en tu máquina local usando el comando proporcionado.
Paso 2: Configurar un pipeline de CI/CD en Azure Pipelines
- Navega a la sección "Pipelines" en tu proyecto.
- Haz clic en "New pipeline".
- Selecciona "Azure Repos Git" como la fuente de tu código.
- Selecciona el repositorio que creaste anteriormente.
- Elige una plantilla de pipeline (por ejemplo, "ASP.NET Core").
- Revisa y ajusta el archivo YAML generado automáticamente.
trigger: - main pool: vmImage: 'ubuntu-latest' steps: - task: UseDotNet@2 inputs: packageType: 'sdk' version: '5.x' installationPath: $(Agent.ToolsDirectory)/dotnet - script: dotnet build --configuration Release displayName: 'Build project' - script: dotnet test --configuration Release displayName: 'Run tests' - task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'drop'
- Guarda y ejecuta el pipeline.
Paso 3: Desplegar la aplicación
- Agrega un nuevo trabajo de despliegue en el archivo YAML.
- Configura el destino de despliegue (por ejemplo, Azure App Service).
- task: AzureWebApp@1 inputs: azureSubscription: 'tu-suscripcion' appName: 'tu-app-service' package: '$(Build.ArtifactStagingDirectory)/drop'
- Guarda y ejecuta el pipeline para desplegar la aplicación.
Ejercicio práctico
Ejercicio 1: Crear y configurar un pipeline de CI/CD
- Objetivo: Configurar un pipeline de CI/CD para una aplicación simple en Azure DevOps.
- Pasos:
- Crea un nuevo repositorio en Azure Repos.
- Agrega un proyecto de aplicación simple (por ejemplo, una aplicación web ASP.NET Core).
- Configura un pipeline de CI/CD en Azure Pipelines.
- Asegúrate de que el pipeline compile, pruebe y despliegue la aplicación correctamente.
Solución
-
Crear el repositorio:
- Navega a "Repos" y crea un nuevo repositorio.
- Clona el repositorio y agrega tu proyecto de aplicación.
-
Configurar el pipeline:
- Navega a "Pipelines" y crea un nuevo pipeline.
- Selecciona "Azure Repos Git" y elige tu repositorio.
- Usa la plantilla "ASP.NET Core" y ajusta el archivo YAML según sea necesario.
- Guarda y ejecuta el pipeline.
-
Verificar el despliegue:
- Asegúrate de que el pipeline se ejecute sin errores.
- Verifica que la aplicación esté desplegada correctamente en el destino configurado.
Conclusión
En esta sección, hemos introducido Azure DevOps y sus componentes principales, destacando sus beneficios y cómo puede mejorar la colaboración y la entrega continua en los equipos de desarrollo. También hemos proporcionado una guía práctica para configurar un pipeline de CI/CD, que es una de las funcionalidades más poderosas de Azure DevOps. En el siguiente módulo, profundizaremos en los Pipelines de Azure, explorando configuraciones avanzadas y mejores prácticas.
Curso de Azure
Módulo 1: Introducción a Azure
- ¿Qué es Azure?
- Configuración de la cuenta de Azure
- Descripción general del portal de Azure
- Administrador de recursos de Azure
Módulo 2: Servicios principales de Azure
- Máquinas virtuales de Azure
- Servicios de aplicaciones de Azure
- Almacenamiento de Azure
- Redes de Azure
Módulo 3: Bases de datos de Azure
- Base de datos SQL de Azure
- Azure Cosmos DB
- Base de datos de Azure para MySQL
- Base de datos de Azure para PostgreSQL
Módulo 4: Seguridad en Azure
- Gestión de identidad y acceso de Azure
- Centro de seguridad de Azure
- Azure Key Vault
- Protección DDoS de Azure
Módulo 5: Azure DevOps
Módulo 6: Servicios avanzados de Azure
- Servicio de Kubernetes de Azure (AKS)
- Funciones de Azure
- Aplicaciones lógicas de Azure
- Servicios cognitivos de Azure
Módulo 7: Monitoreo y gestión
- Monitor de Azure
- Análisis de registros de Azure
- Información de aplicaciones de Azure
- Automatización de Azure