M365Con 2027 – conferencia online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Optimizar DevOps: integrar Azure CLI en pipelines de CI/CD

By ·

En el vertiginoso mundo de la entrega de software moderna, la eficiencia y la velocidad lo son todo. A medida que los equipos de desarrollo adoptan prácticas de integración continua y despliegue continuo (CI/CD), la necesidad de herramientas de automatización ligeras, fiables y multiplataforma nunca ha sido más crítica. Tanto si levantas entornos de staging temporales, despliegas infraestructura c

Automatically translated with AI from the original post. Read the English original

▶ BLOGStreamlining DevOps:Integrating Azure CLI…M365.FM
Titelbild: Streamlining DevOps: Integrating Azure CLI into CI/CD Pipelines

En el vertiginoso mundo de la entrega de software moderna, la eficiencia y la velocidad lo son todo. A medida que los equipos de desarrollo adoptan prácticas de integración continua y despliegue continuo (CI/CD), la necesidad de herramientas de automatización ligeras, fiables y multiplataforma nunca ha sido más crítica. Tanto si levantas entornos de staging temporales, despliegas infraestructura como código o configuras microservicios, las herramientas de tu pipeline deben ejecutarse de forma rápida y consistente.

Llega Azure CLI. Diseñada para ser sencilla, rápida y ejecutable en cualquier plataforma, se ha convertido rápidamente en la herramienta de referencia para los ingenieros de nube que quieren optimizar sus flujos de trabajo de DevOps. En este artículo veremos por qué Azure CLI brilla en los pipelines de despliegue modernos, cómo se compara con otras herramientas de gestión y cómo puedes integrarla sin fricciones en tus procesos de CI/CD.

Si te gusta este análisis en profundidad, no dejes de escuchar nuestro episodio de podcast relacionado, Azure CLI vs PowerShell: ¿cuál deberías usar?, donde desglosamos las diferencias definitivas entre las principales interfaces de gestión en la nube de Microsoft.

Introducción a Azure CLI en CI/CD

Los pipelines de integración y despliegue continuos necesitan herramientas que puedan ejecutarse en entornos de contenedores mínimos sin una sobrecarga importante. Tradicionalmente, los scripts de automatización estaban muy ligados a sistemas operativos concretos, lo que generaba fricciones al migrar entre los equipos de desarrollo locales, los agentes de compilación y los clústeres de producción. El DevOps moderno exige herramientas que ofrezcan una paridad total entre Windows, macOS y Linux.

Azure CLI responde directamente a estas necesidades. Gracias a una estructura de comandos limpia y apta para scripts, que devuelve JSON por defecto, permite a desarrolladores y agentes automatizados consultar, crear y modificar recursos en la nube con poco esfuerzo. Cuando se integra en un pipeline de CI/CD, como GitHub Actions, GitLab CI o Azure DevOps, Azure CLI convierte pasos de despliegue abstractos en código repetible y determinista.

Por qué Azure CLI para pipelines modernos

Al diseñar arquitecturas modernas de CI/CD, cada segundo cuenta. Los agentes de compilación consumen recursos de cómputo, y las colas de despliegue prolongadas pueden frenar la velocidad de desarrollo. Azure CLI está especialmente optimizada para estos entornos de alta velocidad. Como su arquitectura subyacente se basa en llamadas REST ligeras, la ejecución es excepcionalmente rápida y eficiente en el uso de recursos.

Además, los agentes de compilación en contenedores suelen ejecutarse sobre imágenes de Linux simplificadas. Instalar dependencias voluminosas puede ralentizar el arranque del pipeline. La huella mínima de Azure CLI y su instalación sencilla la convierten en una compañera ideal para los runners de CI/CD basados en Docker. Además, permite a los desarrolladores probar los scripts de despliegue en local, en un entorno de shell idéntico al que ejecuta el servidor de compilación remoto, lo que reduce drásticamente los errores del tipo "en mi máquina funciona".

Azure CLI frente a PowerShell: comparativa rápida

Un debate habitual en la gestión de la nube es elegir entre Azure CLI y PowerShell. Ambas herramientas son enormemente potentes, pero se orientan a perfiles de usuario y patrones operativos muy distintos. Para entender por qué Azure CLI suele llevarse la palma en los pipelines de CI/CD, conviene compararlas lado a lado.

EscenarioHerramienta recomendadaQué la distingue
Despliegue rápido de recursosAzure CLIRápida, ligera, comandos sencillos, funciona en cualquier plataforma, ideal para DevOps y scripting.
Automatización empresarialPowerShellGestiona automatizaciones complejas, salida basada en objetos, operaciones masivas y una gran integración con Windows.
Integración en pipelines de CI/CDAzure CLIComandos de alto nivel, compatibilidad nativa con infraestructura como código y configuración sencilla de pipelines.
Scripting avanzadoPowerShellScripting flexible, creación de herramientas propias y control detallado de los recursos de Azure.
Gestión multiplataformaAzure CLISe ejecuta en Linux, macOS y Windows, está desarrollada en Python y es ideal para entornos heterogéneos.

Aunque PowerShell destaca en tareas administrativas pesadas y orientadas a objetos, y en integraciones profundas con Windows, Azure CLI gana en pipelines basados en contenedores gracias a su salida de texto sencilla, tiempos de ejecución más rápidos para operaciones masivas ligeras y su compatibilidad nativa con Bash.

Instalación y configuración de Azure CLI

Antes de automatizar tu infraestructura en la nube, debes asegurarte de que Azure CLI esté correctamente instalada y autenticada en tu entorno de implementación. Por suerte, la instalación es sencilla sin importar el sistema operativo.

Si configuras un equipo local o un agente de compilación en una máquina virtual con Windows, puedes instalar la CLI con PowerShell:

Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi

Para los runners de CI/CD basados en Linux (como los runners estándar de Ubuntu en GitHub Actions), la instalación puede resolverse en un solo paso usando el repositorio de paquetes de Microsoft. También puedes aprovechar los entornos de runner preinstalados, que ya incluyen Azure CLI de forma predeterminada. Una vez instalada, para verificar la instalación basta con ejecutar:

az --version

Para la autenticación en los pipelines, evita los inicios de sesión interactivos en el navegador. En su lugar, configura tu pipeline para autenticarse de forma segura mediante una entidad de servicio o una identidad administrada:

az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET --tenant $AZURE_TENANT_ID

Sintaxis y comandos básicos de Azure CLI

Lo bueno de Azure CLI es su sintaxis intuitiva y predecible. Cada comando empieza con el espacio de nombres az, seguido del grupo de recursos o del servicio y, por último, de la acción que quieres realizar. Esta estructura de comandos plana facilita muchísimo escribir y leer scripts de pipeline.

Estos son algunos comandos fundamentales que se usan con frecuencia en la automatización en la nube:

# Create a resource group
az group create --name MyPipelineResourceGroup --location eastus

# List all virtual machines in a table format
az vm list --output table

# Deploy an ARM or Bicep template
az deployment group create --resource-group MyPipelineResourceGroup --template-file azuredeploy.json

De forma predeterminada, los comandos de Azure CLI devuelven cargas JSON limpias. Esto hace muy sencillo consultar propiedades específicas con expresiones JMESPath integradas (--query) y pasar esos valores a los siguientes pasos de tu flujo de CI/CD.

Automatización de implementaciones con Azure CLI

La automatización es el corazón de DevOps. Cuando implementas aplicaciones en Azure, rara vez quieres depender de clics manuales en Azure Portal. Si encapsulas la lógica de implementación en scripts de Azure CLI, garantizas una consistencia total entre los entornos de desarrollo, preproducción y producción.

Imagina que necesitas aprovisionar un nuevo Azure App Service, actualizar su configuración y desplegar tu código en cada combinación (merge) con la rama principal. Un script automatizado con Azure CLI lo resuelve fácilmente:

# Create an App Service plan
az appservice plan create --name MyPlan --resource-group MyResourceGroup --sku B1 --is-linux

# Create the web app
az webapp create --name MyAppService --resource-group MyResourceGroup --plan MyPlan --runtime "NODE:18-lts"

# Configure environment variables
az webapp config appsettings set --name MyAppService --resource-group MyResourceGroup --settings DATABASE_URL="Server=tcp:myServer.database.windows.net..."

Como estos comandos son idempotentes, ejecutarlos varias veces no romperá tu infraestructura; en cambio, asegurarán que el entorno de destino coincida con el estado de configuración deseado.

Integración de Azure CLI en pipelines de CI/CD

Integrar comandos de Azure CLI en orquestadores de CI/CD populares, como GitHub Actions o Azure DevOps Pipelines, es muy sencillo. Como los agentes de pipeline suelen ejecutar scripts de shell, puedes incluir tus comandos `az` estándar directamente en los archivos de configuración de tu flujo de trabajo.

Este es un ejemplo de fragmento de un archivo de flujo de trabajo de GitHub Actions que inicia sesión en Azure y despliega una aplicación web:

name: Deploy to Azure
on:
  push:
    branches: [ main ]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v3

    - name: Azure Login
      uses: azure/login@v1
      with:
        creds: ${{ secrets.AZURE_CREDENTIALS }}

    - name: Deploy Azure Resources
      run: |
        az group create --name ProdRG --location eastus
        az deployment group create --resource-group ProdRG --template-file infra/main.bicep

Al combinar las acciones oficiales de los runners con comandos de Azure CLI, creas un pipeline de implementación robusto, auditable y automatizado que se ejecuta sin interrupciones con cada cambio en el código.

Buenas prácticas para optimizar DevOps con Azure CLI

Para sacar el máximo partido a tu automatización con Azure CLI y mantener tus pipelines de CI/CD seguros y eficientes, sigue estas buenas prácticas probadas:

Conclusión

Integrar Azure CLI en tus pipelines de CI/CD es un cambio de juego para los equipos de DevOps modernos. Su naturaleza ligera, su compatibilidad multiplataforma y su sintaxis intuitiva lo convierten en el compañero ideal para implementaciones en la nube rápidas y automatizadas. Si combinas prácticas de autenticación seguras, scripts bien estructurados e integración sólida con los pipelines, podrás lograr niveles sin precedentes de velocidad y fiabilidad en tu ciclo de entrega de software.

Para profundizar aún más en este tema y escuchar un animado debate sobre las filosofías de la línea de comandos, consulta nuestro episodio complementario del podcast: Azure CLI vs PowerShell: Which Should You Use?. Domina ambas herramientas, comprende sus fortalezas únicas y toma el control absoluto de tu arquitectura de nube de Azure hoy mismo.

Azure DevOps Automation GitHub Actions

Related articles

RSS