Introducción a Azure DevOps Services
Conozca los cinco servicios de Azure DevOps, cree una organización y un proyecto y conecte su repositorio de código para empezar a realizar el seguimiento conjunto de elementos de trabajo y commits.
Introducción a Azure DevOps Services es una lección gratuita de Azure Fundamentals en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Azure Fundamentals, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Azure Fundamentals incluye 4 lecciones en total.
¿Qué es Azure DevOps?
Azure DevOps es un conjunto de herramientas de desarrollo alojadas en la nube por Microsoft que cubre todo el ciclo de vida de entrega de software. Combina la gestión de proyectos, el control de código fuente, la automatización de compilaciones y versiones, la gestión de pruebas y el almacenamiento de artefactos en una plataforma integrada. Los equipos que utilizan Azure DevOps pueden planificar sprints, confirmar código, ejecutar compilaciones automatizadas, implementar en producción y realizar un seguimiento de las métricas de calidad, todo desde un único servicio con integraciones profundas con otros servicios de Azure.
Los cinco servicios de Azure DevOps
Azure DevOps consta de cinco servicios: Azure Boards (seguimiento de elementos de trabajo Agile: épicas, historias, tareas y errores), Azure Repos (repositorios Git ilimitados o TFVC heredado), Azure Pipelines (automatización de CI/CD para cualquier lenguaje, plataforma y nube), Azure Test Plans (pruebas manuales y exploratorias, casos de prueba y métricas de calidad) y Azure Artifacts (fuente de paquetes universal para NuGet, npm, Maven, Python e imágenes de contenedor).
Organizaciones y proyectos
La jerarquía de Azure DevOps comienza con una organización, el contenedor de nivel superior asociado a su inquilino de Azure AD, que normalmente recibe el nombre de su empresa. Dentro de una organización se crean proyectos, cada uno de los cuales representa un producto de software o un equipo. Cada proyecto obtiene sus propios Boards, Repos, Pipelines, Test Plans y Artifacts. El control de acceso, la facturación y la configuración se establecen en el nivel de la organización, pero pueden sobrescribirse para cada proyecto.
# Create an Azure DevOps project via CLI
# First install the Azure DevOps extension
az extension add --name azure-devops
# Configure defaults
az devops configure --defaults organization=https://dev.azure.com/myorg
# Create a new project
az devops project create \
--name MyProject \
--description 'E-commerce platform' \
--visibility private \
--process AgileAzure Boards: planificación Agile
Azure Boards admite tres plantillas de proceso: Basic (Issues y Tasks sencillos), Agile (Epics, Features, User Stories, Tasks y Bugs) y Scrum (Epics, Features, Product Backlog Items, Tasks y Bugs). Los elementos de trabajo avanzan por estados configurables. El tablero Kanban visualiza el trabajo en curso; los backlogs de sprint planifican la capacidad; los backlogs priorizan todo el trabajo aún no iniciado. Vincule los elementos de trabajo con confirmaciones, solicitudes de incorporación de cambios y casos de prueba para obtener una trazabilidad completa.
# Create a work item (User Story) via CLI
az boards work-item create \
--title 'Add payment processing' \
--type 'User Story' \
--description 'As a customer I want to pay by credit card' \
--assigned-to developer@contoso.com \
--project MyProject
# List open work items
az boards work-item list \
--project MyProject \
--query "[?fields.\"System.State\"=='Active']"Azure Repos: control de código fuente
Azure Repos proporciona repositorios Git privados ilimitados con directivas de rama, flujos de trabajo de solicitudes de incorporación de cambios y herramientas de revisión de código. Las directivas de rama aplican controles de calidad en las ramas protegidas: exigen un número mínimo de revisores, la validación correcta de la compilación, elementos de trabajo vinculados y la resolución de comentarios antes de la combinación. Cada repositorio se integra directamente con Azure Pipelines, lo que activa compilaciones e implementaciones automáticamente al insertar cambios en una rama o crear una solicitud de incorporación de cambios.
# Clone an Azure Repos Git repository
git clone https://myorg@dev.azure.com/myorg/MyProject/_git/MyRepo
# Set branch policies via CLI
az repos policy required-reviewer create \
--branch main \
--branch-match-type exact \
--project MyProject \
--repository-id <repo-id> \
--blocking true \
--enabled true \
--minimum-approver-count 2 \
--allow-downvotes falseAzure Pipelines: automatización de CI/CD
Azure Pipelines es un servicio de CI/CD que compila, prueba e implementa aplicaciones escritas en cualquier lenguaje para cualquier plataforma: Azure, AWS, GCP o entornos locales. Las canalizaciones se definen en archivos YAML almacenados junto al código en el repositorio. Entre los conceptos clave se incluyen las stages (fases lógicas como Build, Test y Deploy), los jobs (unidades de ejecución en paralelo) y los steps (tareas individuales). Azure Pipelines proporciona 1.800 minutos de compilación gratuitos al mes para proyectos de código abierto.
# azure-pipelines.yml (minimal CI pipeline)
trigger:
branches:
include:
- main
pool:
vmImage: ubuntu-latest
stages:
- stage: Build
jobs:
- job: BuildJob
steps:
- task: NodeTool@0
inputs:
versionSpec: '18.x'
- script: npm install && npm run build
displayName: 'Install and Build'
- script: npm test
displayName: 'Run unit tests'Azure Artifacts: administración de paquetes
Azure Artifacts aloja fuentes de paquetes versionados para NuGet (.NET), npm (Node.js), Maven (Java), pip (Python) y Universal Packages (binarios arbitrarios). Comparta bibliotecas internas entre proyectos o equipos sin publicarlas en registros públicos. Los orígenes ascendentes actúan como proxy de registros públicos (npmjs.com, nuget.org) a través de su fuente, lo que le proporciona un único punto de conexión para todos los paquetes y la posibilidad de auditar y almacenar en caché las dependencias.
# Publish an npm package to Azure Artifacts
npm install -g vsts-npm-auth
vsts-npm-auth -config .npmrc
# .npmrc file:
# registry=https://pkgs.dev.azure.com/myorg/MyProject/_packaging/MyFeed/npm/registry/
# Publish
npm publish --registry https://pkgs.dev.azure.com/myorg/MyProject/_packaging/MyFeed/npm/registry/Agentes de canalización: de Microsoft frente a autohospedados
Las canalizaciones se ejecutan en agentes: máquinas virtuales o contenedores que ejecutan los trabajos de la canalización. Los agentes hospedados por Microsoft son máquinas virtuales totalmente administradas y preconfiguradas (Ubuntu, Windows y macOS) proporcionadas por Microsoft, sin necesidad de configuración. Los agentes autohospedados se ejecutan en su propia infraestructura (local o en máquinas virtuales de Azure), lo que le proporciona control sobre el entorno, las herramientas preinstaladas y el acceso a redes privadas. Utilice agentes autohospedados cuando las compilaciones necesiten acceso a una VNet, hardware especializado o un inicio más rápido que el que ofrecen las máquinas virtuales en la nube.
# Register a self-hosted agent on a Linux VM
# 1. Download the agent package
curl -O https://vstsagentpackage.azureedge.net/agent/3.x/vsts-agent-linux-x64-3.x.x.tar.gz
mkdir myagent && tar xzf vsts-agent-linux-x64-3.x.x.tar.gz -C myagent && cd myagent
# 2. Configure the agent
./config.sh --url https://dev.azure.com/myorg --auth pat --token <PAT>
# 3. Run as a service
sudo ./svc.sh install && sudo ./svc.sh startEntornos y aprobaciones
Los entornos en Azure Pipelines representan destinos de implementación (Desarrollo, Staging y Producción) y realizan un seguimiento del historial de implementaciones. Puede asociar puertas de aprobación y comprobación a los entornos: una implementación en Producción requiere la aprobación manual de un responsable de versiones. Otras comprobaciones incluyen restricciones de horario laboral (implementar solo entre las 09:00 y las 17:00), temporizadores de espera y comprobaciones de alertas de Azure Monitor (no implementar si hay alertas críticas activas). Esto proporciona a los equipos gobernanza sobre las implementaciones de producción de alto riesgo.
# YAML: deployment job targeting an environment with approval
- stage: DeployProd
jobs:
- deployment: DeployToProduction
environment:
name: Production # Requires manual approval in Azure DevOps portal
resourceType: VirtualMachine
strategy:
runOnce:
deploy:
steps:
- task: AzureWebApp@1
inputs:
appName: myapp-prod
package: '$(Pipeline.Workspace)/drop/app.zip'Conexiones de servicio
Las conexiones de servicio almacenan conexiones autenticadas a servicios externos (suscripciones de Azure, GitHub, Docker Hub, SonarQube y clústeres de Kubernetes) para que las canalizaciones puedan utilizarlas sin incluir credenciales en YAML. La conexión de servicio de Azure Resource Manager utiliza una entidad de servicio o una identidad administrada para implementar recursos de Azure. Todas las credenciales se cifran y se delimitan al proyecto o la canalización, lo que evita que queden expuestas en los registros de la canalización.
# Create an Azure Resource Manager service connection via CLI
az devops service-endpoint azurerm create \
--azure-rm-service-principal-id '<AppId>' \
--azure-rm-subscription-id '<SubId>' \
--azure-rm-subscription-name 'MySubscription' \
--azure-rm-tenant-id '<TenantId>' \
--name 'AzureProductionSC' \
--project MyProject
# Use in pipeline YAML
# - task: AzureCLI@2
# inputs:
# azureSubscription: 'AzureProductionSC'
# scriptType: bash
# scriptLocation: inlineScriptAzure DevOps frente a GitHub
Microsoft es propietaria tanto de Azure DevOps como de GitHub, y ambos admiten CI/CD. Azure DevOps se prefiere en empresas que han invertido considerablemente en herramientas de Microsoft y necesitan Azure Boards, Test Plans o Artifacts. GitHub se prefiere para proyectos de código abierto, flujos de trabajo centrados en desarrolladores y equipos que ya utilizan repositorios de GitHub. GitHub Actions es la plataforma de CI/CD de GitHub. Azure Pipelines se integra tanto con Azure Repos como con GitHub; puede utilizar Azure Boards y Artifacts con repositorios de GitHub.
Comprobación rápida
Compruebe su comprensión de los conceptos de Microsoft Azure Fundamentals (AZ-900) tratados en esta lección.
Resumen de la lección
En esta lección ha aprendido que Azure DevOps proporciona cinco servicios integrados que abarcan la planificación (Boards), el control de código fuente (Repos), CI/CD (Pipelines), las pruebas (Test Plans) y la administración de paquetes (Artifacts); que los entornos con aprobaciones controlan las implementaciones de alto riesgo; y que las conexiones de servicio almacenan de forma segura las credenciales de servicios externos para utilizarlas en las canalizaciones. A continuación, exploraremos cómo crear una canalización de CI con Azure Pipelines.
Preguntas frecuentes
¿La lección «Introducción a Azure DevOps Services» es gratis?
Sí — el texto completo de «Introducción a Azure DevOps Services» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Azure Fundamentals, actualiza a CoddyKit PRO. El curso de Azure Fundamentals incluye 4 lecciones en total.
¿Qué aprenderé en «Introducción a Azure DevOps Services»?
Conozca los cinco servicios de Azure DevOps, cree una organización y un proyecto y conecte su repositorio de código para empezar a realizar el seguimiento conjunto de elementos de trabajo y commits. Practicas Azure Fundamentals con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Azure Fundamentals?
No se requiere experiencia previa. Azure Fundamentals en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Introducción a Azure DevOps Services»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Azure Fundamentals?
Sí. Cada lección de Azure Fundamentals incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción a Azure DevOps Services
- Creación de una canalización de CI con Azure Pipelines
- Implementación continua en Azure
- GitHub Actions en Azure