Curso
Azure DevOps Tutorial: Construir, probar y desplegar aplicaciones
Acabas de terminar de escribir un código excelente o un script de transformación de datos. Estás listo para desplegarlo, pero entonces llega el caos: pruebas manuales, errores de despliegue y miembros del equipo trabajando con versiones de código obsoletas. ¿Te suena? Aquí es donde entra Azure DevOps.
Todo lo que necesitas para desarrollar tu producto de software de principio a fin está incluido en Azure DevOps.
Este tutorial te enseña cómo configurar un entorno Azure DevOps, a utilizar Azure Repos para el control de versiones, a crear y gestionar pipelines CI/CD, a seguir y gestionar elementos de trabajo con Azure Boards, a integrar Azure DevOps con otras herramientas, a supervisar y elaborar informes en Azure DevOps, y las mejores prácticas para Azure DevOps.
¿Qué es Azure DevOps?
Azure DevOps es un conjunto de herramientas de desarrollo en la nube ofrecido por Microsoft que agiliza los procesos de desarrollo, colaboración y despliegue de software. Ofrece control de versiones, integración continua/despliegue continuo (CI/CD), seguimiento del trabajo y mucho más.
Azure DevOps es escalable, se integra perfectamente con Azure y otras plataformas en la nube, y fomenta la colaboración en equipo. Tanto si trabajas en un proyecto pequeño como en una aplicación empresarial extensa, Azure DevOps te tiene cubierto.
Interfaz Azure DevOps: En la interfaz principal de la consola se ofrece una visión general del proyecto.
Azure DevOps comprende un conjunto de servicios diseñados para ayudar a los equipos a planificar, desarrollar, probar y entregar software de forma eficiente. No es sólo para desarrolladores: los profesionales de los datos pueden utilizarlo para gestionar código, automatizar flujos de trabajo y colaborar eficazmente. Azure DevOps te permite conectarte y colaborar a través de sus servicios básicos.
Los servicios básicos de Azure DevOps incluyen:
Servicio |
Propósito |
Tableros Azure |
Azure Boards facilita la gestión ágil de proyectos, incluidos los sprints y el seguimiento de backlogs, y respalda los enfoques ágiles ofreciendo una plataforma configurable para la gestión de elementos de trabajo y el seguimiento de tareas, problemas e historias de usuario. |
Azure Repos |
Azure Repos ofrece herramientas de control de versiones (Git/TFVC) para gestionar el código, realizar un seguimiento de los cambios y tomar instantáneas para proyectos de cualquier tamaño, ofreciendo un control de versiones eficiente. |
Tuberías Azure |
Azure Pipelines automatiza las compilaciones, pruebas y despliegues con CI/CD, y es compatible con los principales lenguajes y tipos de proyecto para la integración, prueba y entrega continuas. |
Planes de prueba de Azure |
Azure Test Plans ofrece potentes herramientas para pruebas manuales planificadas, pruebas de aceptación del usuario, pruebas exploratorias y comentarios de las partes interesadas, apoyando la gestión y ejecución de casos de prueba. |
Artefactos Azules |
Azure Artifacts proporciona una forma más directa de gestionar las dependencias desde una única fuente. Funcionan como repositorios para almacenar, gestionar y compartir paquetes dentro de los equipos o públicamente. |
Echa un vistazo a nuestro curso interactivo Comprender Microsoft Azure si acabas de iniciar tu andadura en Azure. También deberías echar unvistazo a nuestro curso de Fundamentos de Microsoft Azure, quete ayudará a prepararte para obtener la certificación Azure.
Características de Azure DevOps
Ahora que hemos aprendido un poco sobre Azure DevOps, repasemos sus principales características. ¿Por qué deberías utilizar Azure DevOps? Aquí tienes algunas características destacadas:
- Colaboración: Azure DevOps reúne a tu equipo con repositorios, tableros y pipelines compartidos, haciendo que todos colaboren a la perfección en diversos proyectos.
- Control de versiones: Azure DevOps es compatible con Git, para que tú y tu equipo podáis supervisar cada cambio. Gracias a ello, tu equipo puede gestionar las solicitudes pull y merge, supervisar los cambios y mucho más.
- Flujos de trabajo automatizados: Utiliza Azure DevOps para automatizar las compilaciones, las pruebas y las implantaciones, a fin de garantizar implantaciones más rápidas y fiables, ahorrando tiempo y minimizando los errores.
- Escalabilidad: Azure DevOps es tan escalable que puede ampliarse para satisfacer las demandas y el tamaño de tu equipo. Se ajusta para dar cabida a más usuarios y proyectos, independientemente de lo grande o pequeño que sea tu equipo.
- Integración: Azure DevOps se integra perfectamente con Azure, GitHub y otras plataformas y herramientas en la nube para un flujo de trabajo fluido, al tiempo que garantiza repositorios seguros y controles de acceso basados en roles.
Según mi experiencia, Azure DevOps es la solución a la que recurren las empresas y los particulares que desean implantar las mejores prácticas DevOps. ¿Por qué? Crea una cultura de crecimiento y colaboración continuos y proporciona herramientas.
¿Eres un principiante en DevOps? Explora los conceptos clave que impulsan el desarrollo y el despliegue del software modernoyment in the DevOps Concepts course.
Obtén la certificación AZ-900 de Azure
Configuración de tu entorno Azure DevOps
Para acceder al entorno Azure DevOps, primero debes configurarlo todo para fomentar la colaboración en equipo y el proceso de desarrollo de principio a fin.
Crear una cuenta Azure DevOps
Tendrás que crear una cuenta antes de utilizar Azure DevOps. He aquí cómo puedes empezar:
- Visita el sitio web de Azure DevOps: Dirígete a Azure DevOps para comenzar el proceso de inscripción. Haz clic en Empezar con Azure.
- Inicia sesión con tu cuenta Microsoft: Si ya tienes una cuenta Microsoft (por ejemplo, Outlook, Xbox, Office 365), puedes utilizarla para iniciar sesión. Si no es así, tendrás que crear una cuenta gratuita de Microsoft.
- Haz clic en Iniciar sesión o en ¡Crea una! (Inscríbete).
- Utiliza tus credenciales de Microsoft u otras opciones de inicio de sesión para conectarte.
- Haz clic en Siguiente.
- Inicia el proceso de configuración: Haz clic en la casilla de verificación y continúa. Se te pedirá que crees una nueva organización después de iniciar sesión. Tus equipos y proyectos Azure DevOps se alojarán en esta organización.
Crear una organización en Azure DevOps
Una organización en Azure DevOps es donde viven todos tus proyectos y repositorios. Aquí es también donde gestionas tus equipos, permisos y facturación.
- Nombra tu organización: Elige un nombre único para tu organización. Esto es importante porque aparecerá como parte de tu URL de Azure DevOps (por ejemplo,
https://dev.azure.com/yourorganization
). - Elige tu región: Azure DevOps requiere seleccionar una región donde se almacenarán tus datos. La región por defecto debería funcionar para la mayoría, pero si tienes requisitos específicos, como reclamaciones, puedes elegir otra región más cercana a tu base de usuarios (por ejemplo, Estados Unidos).
- Confirma y continúa: Después de rellenar estos datos, haz clic en Continuar. Tu organización ya está lista para funcionar, ¡y se te dirigirá al portal principal de Azure DevOps!
Explorar la interfaz Azure DevOps
Tras crear tu organización, accederás al portal Azure DevOps. Las secciones principales de los servicios son la Visión general, los Tableros, los Repos, los Pipelines, los Planes de pruebas y los Artefactos.
Esta interfaz de usuario puede parecer abrumadora al principio, pero las funciones básicas de Azure DevOps pueden resumirse en control de versiones, CI/CD y gestión de proyectos.
Crear un nuevo proyecto
Ahora que tu cuenta y tu organización están configuradas, vamos a crear tu primer proyecto para Azure DevOps.
Crear un nuevo proyecto
- Haz clic en "Nuevo proyecto": En el portal Azure DevOps, haz clic en el botónNuevo proyecto. Esto te permitirá configurar tu primer proyecto.
- Rellena los detalles del proyecto:
- Nombre del proyecto: Elige un nombre para tu proyecto (por ejemplo, "tuproyecto").
- Descripción (Opcional): Describe brevemente en qué consiste este proyecto.
- Visibilidad: Elige si quieres que tu proyecto sea público o privado. Cualquiera puede ver los proyectos públicos, por lo que es una opción excelente para proyectos de código abierto. Los proyectos privados están protegidos y sólo pueden acceder a ellos las personas que invites al proyecto.
- Crea el proyecto: Tras introducir los detalles de tu proyecto y seleccionar el sistema de control de versiones, haz clic en Crear proyecto. ¡Tu proyecto ya está configurado y listo para empezar!
- Sistema de control de versiones: Azure DevOps ofrece dos tipos de sistemas de control de versiones: Git y Team Foundation Version Control (TFVC).
- Git es un sistema de control de versiones distribuido más moderno y ampliamente utilizado en la comunidad de desarrolladores. Es la mejor opción para la mayoría de los proyectos.
- El TFVC es un sistema de control de versiones centralizado, pero es menos común y suele utilizarse en proyectos heredados.
Según mi experiencia, te aconsejaré que elijas Git si estás empezando o no tienes una razón específica para elegir TFVC.
¿Listo para tomar el control de tucódigo? Aprende Git yempieza a gestionar tus proyectos como un profesional.
Uso de Azure Repos para el control de versiones
Ahora que ya tienes tu proyecto listo, vamos a profundizar en él y a explorar algunas de sus características clave.
Configurar un repositorio Git
- Navega hasta Repos: En el menú de la izquierda, selecciona la pestañaRepos. Aquí gestionarás tu código.
- Clona el repositorio: Puedes clonar el repositorio en tu ordenador local utilizando la URL de la sección Repositorios, por ejemplo
# This command clones the specified Git repository from Azure DevOps to your local machine.
git clone https://yourorganization@dev.azure.com/yourorganization/yourproject/_git/yourrepo
Vamos a dividir la orden anterior en trozos:
- Sustituye
yourorganization
por el nombre de tu organización. - Sustituye
yourproject
por el nombre de tu proyecto. - Sustituye
yourrepo
por el nombre de tu repositorio.
Abajo está la URL en mi sección Repos:
- Empuja tu código: Una vez clonado localmente tu repositorio, puedes añadir tu código y enviarlo de nuevo a Azure DevOps.
git add .
git commit -m "my first commit"
git push origin main
¡Enhorabuena! Acabas de hacer tu primer commit en Azure Repos.
Bifurcación y fusión
En el desarrollo de software, la bifurcación te permite trabajar en características o correcciones por separado del proyecto principal. Fusionar es el proceso de llevar tus cambios de una rama a otra.
- Crea una rama localmente: Para empezar a trabajar en una función, crea una nueva rama:
git checkout -b feature-branch
- Empuja la rama a Azure DevOps: Después de hacer cambios en tu nueva rama, envíala a Azure DevOps:
git push origin feature-branch
Cambiar de rama
Para pasar de una rama a otra, utiliza el siguiente comando:
git checkout main
O para cambiar de rama:
git checkout feature-branch
Eliminar una rama
Una vez fusionada una función, puedes eliminar la rama tanto local como remotamente:
- Para eliminar la rama local:
git branch -d feature-branch
- Para eliminar la rama remota:
git push origin --delete feature-branch
Fusionar ramas mediante pull requests
- Crea un pull request: Una vez que tu rama de características esté preparada para fusionarse con la rama principal, ve a la sección Pull Requests en Azure DevOps y haz clic en Nueva Pull Request.
- Revisa y fusiona: Revisa los cambios y haz clic en Completar para fusionar los cambios en la rama principal.
- Resuelve los conflictos: Si hay conflictos de fusión (es decir, cambios en la misma parte del código), tendrás que resolverlos manualmente. Azure DevOps te ayudará a guiarte en este proceso destacando las áreas conflictivas.
Gestionar pull requests
Los pull requests son esenciales para la revisión del código y la colaboración. Permiten a los miembros del equipo revisar el código antes de que se fusione con la rama principal.
Crear un pull request
- Crea el pull request: Tras enviar tu rama de características, ve a Solicitudes de Extracción y haz clic en Nueva Solicitud de Extracción. Elige la rama de origen (por ejemplo,
feature-branch
) y la rama de destino (por ejemplo,main
). - Describe la solicitud de extracción: Proporciona una descripción clara de los cambios incluidos en la solicitud de extracción. Esto ayuda a los revisores a saber qué deben buscar.
Revisar y aprobar pull requests
- Solicita revisiones: Añade revisores de tu equipo que revisarán los cambios de código.
- Aprobar y fusionar: Una vez aprobada la pull request, haz clic en Completa para fusionarla con la rama principal.
Creación y gestión de canalizaciones CI/CD
Azure DevOps también incluye Pipelines para automatizar el proceso de creación, prueba y despliegue.
¿Qué es un pipeline en Azure DevOps?
Un pipeline en Azure DevOps es una colección de procesos automatizados que te ayudan:
- Construye tu código (build pipeline)
- Pruébalo
- Despliégalo en distintos entornos (canal de lanzamiento)
Estas canalizaciones garantizan que tu código esté siempre listo para el despliegue y que pueda probarse automáticamente.
Crear un canal de compilación
- Navega hasta Tuberías: En tu proyecto Azure DevOps, haz clic en Nueva canalización en la sección Canalizaciones de Azure DevOps.
- Elige una fuente: Selecciona Azure Repos Git como fuente y elige tu repositorio.
- Configura la canalización: Puedes configurar tu pipeline utilizando el editor YAML o el editor Clásico. Vamos con YAML, una forma de definir la canalización basada en código.
Tomemos como ejemplo una aplicación Node.js básica. Nuestro archivo azure-pipelines.yml
a continuación contiene el código YAML que Azure DevOps creó automáticamente .
# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- task: NodeTool@0
inputs:
versionSpec: '20.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run build
displayName: 'npm install and build'
- Guarda y ejecuta: Guarda la tubería y ejecútala para ver si todo funciona correctamente.
Ejecutar el proceso de compilación
Una vez configurado tu proceso de compilación, puedes ejecutarlo manualmente haciendo clic en Ejecutar proceso. El pipeline pasará por diferentes etapas, como "instalar dependencias", "ejecutar pruebas" y "construir".
Puedes consultar los registros de cada paso para solucionar cualquier fallo en la compilación. Azure DevOps proporciona registros detallados para ayudarte a determinar qué ha ido mal.
Configurar el despliegue continuo (DC)
- Navega hasta Comunicados: En la sección Pipelines, haz clic en Lanzamientos y luego en Nuevo Pipeline.
- Añade un Artefacto: Vincula el artefacto de tu canal de construcción como fuente del canal de publicación.
- Desplegar en entornos: Configura entornos como el de Puesta en Escena y el de Producción, donde quieres que se despliegue tu aplicación.
Automatiza las implantaciones
Azure DevOps puede desplegar automáticamente tu aplicación siempre que se active una nueva compilación. Puedes configurarlo añadiendo activadores y definiendo tareas para desplegar en plataformas como Azure, AWS, etc.
Gestionar elementos de trabajo con Azure Boards
Azure Boards es el corazón de la gestión de proyectos en Azure DevOps. Ayuda a los equipos a planificar, seguir y debatir el trabajo a lo largo del ciclo de vida del desarrollo de software mediante funciones como Tareas, Errores, Historias de usuario y Epopeyas.
Tanto si sigues Scrum como Kanban, Azure Boards te permite visualizar, priorizar y gestionar tu trabajo de forma eficiente.
Vamos a desglosarlo paso a paso.
Crear y gestionar elementos de trabajo
Azure Boards te permite gestionar tareas, errores y características mediante elementos de trabajo.
- Crea un elemento de trabajo: Ve a Pizarras, selecciona Elementos de trabajo y haz clic en Nuevo elemento de trabajo.
Puedes crear:
- Épica: Un proyecto grande o un trabajo extenso que abarque varias piezas más pequeñas.
- Asunto: Un problema o fallo concreto que hay que solucionar.
- Tarea: Un trabajo único y accionable por hacer.
- Seleccionemos Épica.
- Introduce un Título, una Descripción, una Prioridad, una Fecha de Inicio y una Fecha Objetivo. Pulsa Guardar.
- Asignar elementos de trabajo
- Abre el elemento de trabajo que acabas de crear.
- En el campo Asignar personas, selecciona un miembro del equipo.
- Selecciona Añadir etiqueta para una mejor categorización. Pulsa Guardar.
- Sigue el progreso
- Utiliza el campo Estado para actualizar el estado (por ejemplo, Nuevo, Activo, Resuelto, Cerrado).
- Añade comentarios o archivos adjuntos para proporcionar actualizaciones o contexto.
Según mi experiencia, los equipos se mantienen responsables y centrados cuando se asignan propietarios claros y se especifican plazos razonables.
Establecer sprints y backlogs
Los sprints ágiles y los backlogs son esenciales para el desarrollo iterativo. A continuación te explicamos cómo configurarlos:
- Crea Sprints: Los sprints son iteraciones de trabajo limitadas en el tiempo. Puedes configurar sprints yendo a Tableros > Sprints y añadiendo nuevos sprints (por ejemplo, "Sprint 1").
- Haz clic en Configurar ajustes del equipo y define la duración de tu sprint (por ejemplo, 2 semanas).
- Añade las fechas de inicio y fin del sprint.
- Gestiona los backlogs de los productos: En la vista Backlog, puedes organizar tus elementos de trabajo en prioridades. Navega hasta Juntas > Atrasos.
- Arrastra y suelta elementos de trabajo en el backlog para priorizarlos.
- Visualiza el progreso: Azure DevOps te ayuda a visualizar los elementos de trabajo y a moverlos por etapas (por ejemplo, Por hacer, Haciendo, Hecho). Utiliza la vista Tablero para ver los elementos de trabajo en columnas.
- Personaliza las columnas para adaptarlas al flujo de trabajo de tu equipo.
En mi experiencia, seguir esto proporciona a tu equipo menos tiempo de inactividad y confusión si tu backlog está bien organizado y es claro sobre lo que hay que hacer a continuación.
Vincular elementos de trabajo a commits
Vincular los elementos de trabajo a los commits ayuda a realizar un seguimiento de los cambios en el código de cada tarea o fallo. He aquí cómo:
- Enlace a un commit: Esto puede hacerse de dos formas: a través de tu consola Azure DevOps o de tu entorno de desarrollo local.
- Azure DevOps console: En tu mensaje de confirmación de Git, incluye la dirección
#WorkItemID
(por ejemplo,#1
). Haz clic en Commit. Azure DevOps vincula automáticamente la confirmación al elemento de trabajo.
- Entorno de desarrollo local:
- En tu entorno de desarrollo local, abre el terminal o el símbolo del sistema. Haz tus cambios en el código y prepárate para confirmarlos.
- En el mensaje de confirmación, incluye el ID del elemento de trabajo con un hashtag (por ejemplo,
Fixed bug in login analytics #1
). - Completa la confirmación ejecutando el comando adecuado:
git commit -m "Fixed bug in login analytics #1"
- Empuja el commit al repositorio remoto (Azure Repo):
git push origin feature-branch
- Enlace a un pull request:
- Al crear una solicitud de extracción, menciona el ID del elemento de trabajo en el campo Descripción.
- Haz clic en Crear. Azure DevOps vinculará automáticamente la solicitud de extracción al elemento de trabajo.
En mi experiencia, esta vinculación proporciona una trazabilidad completa, facilitando ver qué cambios de código abordaban tareas o errores específicos. Recuerda que puedes ver los commits y PRs vinculados en la sección Desarrollo del elemento de trabajo.
Integración con otras herramientas
Azure DevOps brilla cuando se integra con otras herramientas como GitHub y plataformas en la nube. Exploremos cómo configurarlo.
Integración de Azure DevOps con GitHub
Conectar Azure DevOps a GitHub agiliza la colaboración y la automatización CI/CD. He aquí cómo:
- Conecta GitHub a Azure Pipelines:
- Ir a Tuberías > Crear Tubería.
- Selecciona GitHub como fuente.
- Autoriza a Azure DevOps a acceder a tus repositorios de GitHub.
¿Eres nuevo en GitHub? Descubre cómo colaborar, realizar un seguimiento de los cambios y contribuir a proyectos de código abierto con el curso curso de conceptos de GitHub.
- Establece una canalización
- Elige un repositorio y configura tu archivo de canalización YAML.
- Define los pasos de construcción y despliegue. Ejemplo YAML:
# Set up the trigger for the pipeline
trigger:
# Specify the branches to include
branches:
include:
# Include the main branch
- main
# Define the jobs for the pipeline
jobs:
# Create a job named 'Build'
- job: Build
# List the steps for the 'Build' job
steps:
# Add a script step to print a message
- script: echo "Building the project..."
Según mi experiencia, esta integración garantiza automáticamente actualizaciones y despliegues de código sin fisuras, reduciendo el esfuerzo manual.
Conectar Azure DevOps con Azure y otras plataformas en la nube
Azure DevOps se integra de forma nativa con servicios de Azure como Azure Web Apps, Azure Kubernetes Services (AKS) y muchos más. Aprendamos a conectar nuestro Azure DevOps a Azure Web Apps.
- Enlace a los Servicios Azure:
- En la parte inferior izquierda de tu proyecto, ve a Configuración del proyecto y haz clic en Conexiones de servicio en la sección Tuberías.
-
- Haz clic en Nueva conexión de servicio y elige Azure Resource Manager.
-
- Autentícate con tu cuenta Azure.
- Desplegar en Azure
- Vuelve a tus Pipelines y configura tu pipeline.
- En tu pipeline, añade una tarea para desplegar en Azure.
- Especifica el grupo de recursos y los detalles del servicio. Ejemplo de tarea YAML:
# Define the task for deploying to an Azure Web App
- task: AzureWebApp@1
inputs:
# Specify your Azure subscription service connection
azureSubscription: 'Your-Service-Connection'
# Specify the name of your web app
appName: 'Your-Web-App'
Vamos a dividir la orden anterior en trozos:
- Sustituye
Your-Service-Connection
por el nombre de la conexión de servicio con acceso a tu suscripción de Azure. - Sustituye
Your-Web-App
por el nombre real de tu aplicación web en Azure.
Según mi experiencia, esta conexión facilita las implantaciones, permitiéndote centrarte principalmente en crear un software excelente.
Supervisión e informes en Azure DevOps
La supervisión y la elaboración de informes son procesos clave para mantener la salud de tu proyecto en Azure DevOps. Exploremos cómo llevarlo a cabo eficazmente.
Ver las métricas de la canalización
Las métricas de canalización arrojan luz sobre el rendimiento de las compilaciones y los despliegues. Así es como se llega a ellos.
- Controla la salud de las tuberías
- Ir a Tuberías > Análisis.
- Visualiza métricas como la tasa de aprobación del pipeline, la tasa de aprobación de las pruebas y la duración del pipeline.
- Identificar los cuellos de botella
- Para encontrar etapas de fallo y construcciones lentas, utiliza la función Ejecuciones de tuberías informe.
-
- Navega a tu Azure DevOps Configuración de la organización > Pipelines > Trabajos paralelos para utilizar trabajos paralelos para mejorar el rendimiento y optimizar las tareas.
Según mi experiencia, almacenar en caché las dependencias, dividir los trabajos y optimizar la estructura de las canalizaciones puede reducir significativamente los tiempos de compilación y las tasas de fallos.
Uso de los informes Azure DevOps
Azure DevOps ofrece sólidas herramientas de elaboración de informes para realizar un seguimiento de la productividad del equipo y del progreso del proyecto.
- Acceder a los informes
- Ir a Analítica > Informes.
- Elige entre informes preconstruidos como Diagrama de Flujo Acumulativo, Velocidad o Desglose.
- Personalizar informes
- Utiliza Power BI para crear cuadros de mando personalizados. Para ello, utiliza el Conector de Datos de Power BI, naviga a Power BI Online, e iniciasesión en tu cuenta.
- Haz clic en Inicio en la esquina superior izquierda y selecciona Obtener datos en la cinta.
- Verás una lista de fuentes de datos en la ventanaObtener datos. Selecciona Online Services > Azure DevOps (sólo Boards) como tu conector de datos.
- Introduce los datos de tu cuenta, como tu Organización y Proyecto de equipo para sincronizar tus datos.
- Exporta los datos para su posterior análisis.
Según mi experiencia, puedes tomar decisiones basadas en datos con estos informes analíticos, que ofrecen perspectivas prácticas.
Buenas prácticas para Azure DevOps
Ahora que ya conocemos los servicios básicos de Azure DevOps y muchos más, veamos cómo sacar el máximo partido a Azure DevOps siguiendo estas prácticas recomendadas.
Buenas prácticas de control de versiones
- Utiliza estrategias de ramificación
- Adoptando Git Flow o GitHub Flow para la ramificación.
- Mantén siempre estable la rama
main
y utiliza ramas de características para el desarrollo. - Escribe mensajes de confirmación claros
- Utiliza el formato:
type(scope): description
(por ejemplo,feat(login): add user authentication
). - Revisar pull requests
- Exige al menos un revisor antes de fusionar tus pull requests.
- Utiliza los comentarios para sugerir mejoras.
Una base de código limpia y reutilizable es el resultado de unas buenas prácticas de control de versiones.
Optimizar los conductos
- Utilizar Dependencias de Caché: Repetir la descarga de las mismas dependencias puede hacer perder mucho tiempo trabajando con gestores de paquetes. Azure DevOps admite mecanismos de almacenamiento en caché, como la tarea Caché, que te permite almacenar en caché las dependencias entre las ejecuciones del pipeline.
Ejemplo de tarea de caché YAML:
# Define the cache task
- task: Cache@2
inputs:
# Set the cache key using npm, the OS, and package-lock.json
key: 'npm | "$(Agent.OS)" | package-lock.json'
# Specify the path to the node_modules directory
path: 'node_modules'
- Trabajos divididos: Divide los trabajos gigantes en tareas paralelas más pequeñas. Considera una gran carga de trabajo que requiere mucho tiempo para terminarla. Al dividirla en tareas separadas, puedes ejecutarla simultáneamente, lo que acelera la operación en su conjunto.
Trabajos de ejemplo YAML:
jobs:
# Define the first build job
- job: BuildJob1
displayName: 'Build Job 1'
pool:
vmImage: 'ubuntu-latest'
steps:
# Add a script step to print a message for Building Project A
- script: echo "Building Project A"
displayName: 'Build Project A'
# Define the second build job
- job: BuildJob2
displayName: 'Build Job 2'
pool:
vmImage: 'ubuntu-latest'
steps:
# Add a script step to print a message for Building Project B
- script: echo "Building Project B"
displayName: 'Build Project B'
# Define the test job
- job: TestJob
displayName: 'Run Tests'
# Specify that this job depends on the completion of BuildJob1 and BuildJob2
dependsOn:
- BuildJob1
- BuildJob2
pool:
vmImage: 'ubuntu-latest'
steps:
# Add a script step to print a message for Running Tests
- script: echo "Running Tests"
displayName: 'Run Tests'
- Utiliza plantillas: Crea plantillas de canalización reutilizables para las tareas cotidianas. De este modo, no tendrás que reescribir el mismo código repetidamente. Vamos a crear una plantilla sencilla para una tarea de construcción:
Ejemplo de plantilla YAML:
# Define parameters for the pipeline
parameters:
# Specify a parameter for the build configuration
- name: buildConfiguration
type: string
default: 'Release'
# List the steps for the pipeline
steps:
# Add a task to run the .NET Core CLI
- task: DotNetCoreCLI@2
inputs:
# Set the command to 'build'
command: 'build'
# Pass the build configuration as an argument
arguments: '--configuration $(buildConfiguration)'
He comprobado que la optimización de las canalizaciones supone sistemáticamente un ahorro de tiempo y recursos.
Gestión de secretos y seguridad
- Utiliza Azure Key Vault: Almacena información sensible como claves API en Azure Key Vault. Para ello, ve al Portal Azure, crea una nueva Bóveda de Claves y añade tus secretos (por ejemplo, claves API).
- Vuelve a Azure DevOps y crea una conexión de servicio a tu suscripción de Azure para que tu pipeline pueda acceder a la Bóveda de Claves.
- Ve a Pipelines > Biblioteca en Azure DevOps y crea un nuevo grupo de variables.
- Vincula el grupo de variables a tu Bóveda de Claves para obtener automáticamente los secretos.
- Referencia secretos en tus procesos utilizando grupos de variables. Ejemplo YAML:
# azure-pipelines.yml
trigger:
- main
variables:
- group: my-variable-group # Reference the variable group that links to the Key Vault
jobs:
- job: BuildJob
pool:
vmImage: 'ubuntu-latest'
steps:
- script: echo "Using secret from Key Vault."
env:
MY_API_KEY: $(my-secret) # Reference the secret from the variable group
displayName: 'Print Secret'
Del ejemplo anterior: Se hace referencia al grupo de variables my-variable-group
, que contiene secretos de la Bóveda de Claves. El paso de guión se hace eco de un mensaje, utilizando el secreto del grupo de variables $(my-secret)
como variable de entorno.
- Restringir permisos
- Recuerda siempre limitar el acceso a las canalizaciones y repositorios en función de los roles.
Una práctica esencial en el desarrollo moderno de software es la Seguridad. La seguridad no es negociable y no puede verse comprometida por las consecuencias que están en juego.
Conclusión
Este tutorial nos enseñó a configurar un entorno Azure DevOps, utilizar Azure Repos para el control de versiones, crear y gestionar pipelines CI/CD, seguir y gestionar elementos de trabajo con Azure Boards, integrar Azure DevOps con otras herramientas, las mejores prácticas para Azure DevOps, y mucho más.
La constancia es el secreto del éxito. Revisa tus procesos con frecuencia, recaba opiniones y haz ajustes. Dominarlas puede liberar todo tu potencial como profesional de los datos en el desarrollo de software. Explora Azure DevOps, prueba estas herramientas y verás cómo tu equipo es mucho más productivo.
Para profundizar en Microsoft Azure, consulta los siguientes cursos:
- Entender Microsoft Azure - Construye una base sólida en Microsoft Azure y desbloquea el poder de la computación en nube.
- Fundamentos de Microsoft Azure (AZ-900) - Prepárate para el examen con este curso para principiantes que cubre todos los fundamentos clave de Azure.
- Entender la arquitectura y los servicios de Microsoft Azure - Aprende cómo la arquitectura y los servicios de Azure trabajan juntos para potenciar las soluciones en la nube.
Obtén la certificación AZ-900 de Azure
Emmanuel Akor es un Ingeniero de Nube y DevOps experto en aprovechar las tecnologías de nube y las herramientas DevOps para impulsar proyectos impactantes. Licenciado en Informática de primera clase por la Universidad de Babcock y antiguo co-líder de la nube para GDSC, Emmanuel combina la excelencia académica con la experiencia práctica. Como Redactor de Contenidos Técnicos, destaca a la hora de compartir conocimientos y colaborar con los equipos.
Aprende más sobre Azure con estos cursos
Curso
Understanding Microsoft Azure Architecture and Services
Programa
Microsoft Azure Fundamentals (AZ-900)
blog
Los 13 mejores proyectos de AWS: De principiante a profesional
blog
AWS Certified Cloud Practitioner: guía completa

Srujana Maddula
13 min
Tutorial
Cuentas de almacenamiento Azure: Tutorial paso a paso para principiantes

Anneleen Rummens
11 min
Tutorial
Base de datos Azure SQL: Configuración y gestión paso a paso

Anneleen Rummens
12 min
Tutorial
Sinapsis Azure: Guía paso a paso para principiantes
Tutorial