M365Con 2027 – conferência online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Otimizando o DevOps: integrando a Azure CLI aos pipelines de CI/CD

By ·

No mundo acelerado da entrega de software moderna, eficiência e velocidade são tudo. À medida que as equipes de desenvolvimento adotam práticas de integração contínua e implantação contínua…

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

No mundo acelerado da entrega de software moderna, eficiência e velocidade são tudo. À medida que as equipes de desenvolvimento adotam práticas de integração contínua e implantação contínua (CI/CD), a necessidade de ferramentas de automação leves, confiáveis e multiplataforma nunca foi tão crítica. Seja para criar ambientes temporários de homologação, implantar infraestrutura como código ou configurar microsserviços, as ferramentas do seu pipeline precisam ser executadas com rapidez e consistência.

Entra em cena a Azure CLI. Projetada para simplicidade, velocidade e execução multiplataforma, ela se tornou rapidamente a ferramenta preferida de engenheiros de nuvem que querem otimizar seus fluxos de trabalho de DevOps. Neste post, vamos explorar por que a Azure CLI se destaca em pipelines de implantação modernos, como ela se compara a outras ferramentas de gerenciamento e como você pode integrá-la sem atritos aos seus processos de CI/CD.

Se você gostou desta análise aprofundada, não deixe de ouvir nosso episódio de podcast relacionado, Azure CLI vs PowerShell: qual você deve usar?, em que detalhamos as diferenças definitivas entre as principais interfaces de gerenciamento de nuvem da Microsoft.

Introdução à Azure CLI em CI/CD

Pipelines de integração contínua e implantação contínua exigem ferramentas que possam ser executadas em ambientes de contêiner mínimos, sem sobrecarga excessiva. Tradicionalmente, os scripts de automação estavam fortemente ligados a sistemas operacionais específicos, o que gerava atrito ao migrar entre máquinas de desenvolvedores locais, agentes de build e clusters de produção. O DevOps moderno exige uma mudança para ferramentas que ofereçam paridade total entre Windows, macOS e Linux.

A Azure CLI atende a essas demandas de frente. Ao oferecer uma estrutura de comandos limpa e amigável para scripts, que retorna JSON por padrão, ela permite que desenvolvedores e agentes automatizados consultem, criem e modifiquem recursos de nuvem com pouco esforço. Quando incorporada a um pipeline de CI/CD, como GitHub Actions, GitLab CI ou Azure DevOps, a Azure CLI transforma etapas de implantação abstratas em código repetível e determinístico.

Por que usar a Azure CLI em pipelines modernos

Ao projetar arquiteturas modernas de CI/CD, cada segundo conta. Agentes de build consomem recursos de computação, e filas de implantação prolongadas podem travar a velocidade de desenvolvimento. A Azure CLI é especificamente otimizada para esses ambientes de alta velocidade. Como sua arquitetura interna depende de chamadas REST leves, a execução é excepcionalmente rápida e eficiente no uso de recursos.

Além disso, agentes de build em contêineres geralmente rodam em imagens Linux enxutas. Instalar dependências pesadas pode inflar o tempo de inicialização do pipeline. A pegada mínima da Azure CLI e sua instalação simples fazem dela uma companheira ideal para runners de CI/CD baseados em Docker. Ela permite que desenvolvedores testem scripts de implantação localmente, em um shell idêntico ao que o servidor de build remoto executa, reduzindo drasticamente os bugs do tipo "funciona na minha máquina".

Azure CLI vs PowerShell: comparação rápida

Um debate comum em gerenciamento de nuvem é escolher entre a Azure CLI e o PowerShell. As duas ferramentas são extremamente poderosas, mas atendem a perfis de usuários e padrões operacionais bem diferentes. Para entender por que a Azure CLI costuma levar a melhor em pipelines de CI/CD, vale a pena comparar lado a lado como elas se saem.

CenárioMelhor ferramentaPor que se destaca
Implantação rápida de recursosAzure CLIRápida, leve, comandos simples, funciona em qualquer plataforma, ótima para DevOps e scripts.
Automação corporativaPowerShellLida com automação complexa, saída baseada em objetos, operações em massa e forte integração com o Windows.
Integração em pipelines de CI/CDAzure CLIComandos de alto nível, suporte nativo a infraestrutura como código e configuração de pipeline simples.
Scripting avançadoPowerShellScripts flexíveis, criação de ferramentas e controle profundo sobre os recursos do Azure.
Gerenciamento multiplataformaAzure CLIRoda em Linux, macOS e Windows, desenvolvida em Python, ideal para ambientes diversos.

Embora o PowerShell se destaque em tarefas administrativas pesadas e orientadas a objetos e em integrações profundas com o Windows, a Azure CLI leva a melhor em pipelines baseados em contêineres por causa da saída de texto direta, dos tempos de execução mais rápidos para operações leves em massa e da compatibilidade nativa com Bash.

Instalando e configurando a Azure CLI

Antes de automatizar sua infraestrutura na nuvem, é preciso garantir que a CLI do Azure esteja instalada corretamente e autenticada no seu ambiente de implantação. Felizmente, a instalação é simples, independentemente do sistema operacional.

Se você estiver configurando uma máquina local ou um agente de build em máquina virtual executando Windows, pode instalar a CLI usando o 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 runners de CI/CD baseados em Linux (como os runners padrão do Ubuntu no GitHub Actions), a instalação pode ser feita em uma única etapa usando o repositório de pacotes da Microsoft, ou você pode aproveitar os ambientes de runner pré-instalados que já incluem a CLI do Azure por padrão. Depois de instalada, verificar a instalação é tão simples quanto executar:

az --version

Para a autenticação em pipelines, evite logins interativos pelo navegador. Em vez disso, configure seu pipeline para autenticar de forma segura usando uma Service Principal ou uma Managed Identity:

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

Sintaxe e comandos essenciais da CLI do Azure

O grande diferencial da CLI do Azure está na sua sintaxe intuitiva e previsível. Todo comando começa com o namespace az, seguido do grupo de recursos ou do serviço e, por fim, da ação que você quer executar. Essa estrutura de comandos simples torna a escrita e a leitura de scripts de pipeline surpreendentemente fáceis.

Aqui estão alguns comandos fundamentais frequentemente usados na automação de nuvem:

# 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

Por padrão, os comandos da CLI do Azure retornam payloads JSON limpos. Isso facilita muito consultar propriedades específicas usando expressões JMESPath integradas (--query) e passar esses valores para as etapas seguintes do seu fluxo de CI/CD.

Automatizando implantações com a CLI do Azure

A automação é o coração do DevOps. Ao implantar aplicações no Azure, você raramente quer depender de cliques manuais no Portal do Azure. Ao encapsular a lógica de implantação em scripts da CLI do Azure, você garante consistência absoluta entre os ambientes de desenvolvimento, homologação e produção.

Imagine que você precisa provisionar um novo Azure App Service, atualizar suas configurações e implantar seu código a cada merge na branch principal. Um script automatizado usando a CLI do Azure torna isso trivial:

# 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 esses comandos são idempotentes, executá-los várias vezes não vai quebrar sua infraestrutura; em vez disso, eles garantem que o ambiente de destino corresponda ao estado de configuração desejado.

Integrando a CLI do Azure aos pipelines de CI/CD

Integrar comandos da CLI do Azure a orquestradores de CI/CD populares, como GitHub Actions ou Azure DevOps Pipelines, é surpreendentemente direto. Como os agentes de pipeline normalmente executam scripts de shell, você pode incluir seus comandos `az` padrão diretamente nos arquivos de configuração do fluxo de trabalho.

Aqui está um exemplo de trecho de um arquivo de fluxo de trabalho do GitHub Actions que faz login no Azure e implanta uma aplicação 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

Ao combinar ações oficiais de runner com comandos brutos da CLI do Azure, você cria um pipeline de implantação robusto, auditável e automatizado, que é executado sem interrupções a cada alteração de código.

Boas práticas para otimizar o DevOps com a CLI do Azure

Para tirar o máximo proveito da automação com a CLI do Azure e manter seus pipelines de CI/CD seguros e eficientes, siga estas boas práticas comprovadas:

Conclusão

Integrar a CLI do Azure aos seus pipelines de CI/CD é uma virada de jogo para equipes modernas de DevOps. Sua natureza leve, a compatibilidade multiplataforma e a sintaxe intuitiva a tornam a companheira ideal para implantações rápidas e automatizadas na nuvem. Combinando práticas seguras de autenticação, scripts bem estruturados e integração robusta com pipelines, você pode alcançar níveis sem precedentes de velocidade e confiabilidade no ciclo de entrega de software.

Para mergulhar ainda mais fundo neste tema e ouvir um debate animado sobre as filosofias de linha de comando, confira nosso episódio complementar do podcast: Azure CLI vs PowerShell: Which Should You Use?. Domine as duas ferramentas, entenda os seus pontos fortes únicos e assuma o controle total da sua arquitetura na nuvem Azure hoje mesmo!

Azure DevOps Automation GitHub Actions

Related articles

RSS