O ecossistema de ferramentas para desenvolvedores da Microsoft tem evoluído de forma constante, e o mais recente update do Azure Developer CLI (azd) traz uma mudança relevante para times que buscam padronização e eficiência em seus pipelines de provisionamento.
Historicamente, os hooks do azd — essenciais para executar lógica customizada nos estágios de provisioning e deployment — eram limitados a Bash e PowerShell. Para muitos times que operam com stacks como Python ou Node.js, isso representava um atrito indesejado: a necessidade de criar e manter scripts em linguagens alheias ao core do projeto, promovendo o famigerado context-switching desnecessário.
O que mudou e por que importa
Agora, o azd suporta nativamente a execução de hooks escritos em Python, JavaScript, TypeScript e .NET. A ferramenta detecta automaticamente a linguagem pela extensão do arquivo e gerencia as dependências necessárias para a execução.
Para o engenheiro de DevOps, isso significa poder reutilizar bibliotecas existentes e aplicar padrões de codificação da própria organização, garantindo maior manutenibilidade e redução de riscos operacionais em ambientes multi-cloud ou Azure-native.
Implementação prática
A configuração permanece simplificada no arquivo azure.yaml. O azd infere a linguagem, mas você pode forçar o comportamento através do campo kind:
hooks:
preprovision:
run: ./hooks/setup.py
kind: python
Comportamento por linguagem:
- Python: O azd percorre a árvore de diretórios em busca do
requirements.txtoupyproject.tomlmais próximo, cria um virtual environment e instala as dependências antes de executar o script. - JavaScript/TypeScript: O suporte para
package.jsongerencia onpm install(ou gerenciador configurado). Scripts em TypeScript são executados vianpx tsx, eliminando a necessidade de um passo de compilação explícito. - .NET: Suporta dois modos: o Project mode (executa
dotnet restoreebuildse encontrar um.csproj/.fsproj) ou o Single-file mode (executando arquivos.csdiretamente no .NET 10+).
Flexibilidade e controle
Além da execução básica, a nova versão introduz configurações granulares por executor. É possível definir o packageManager (pnpm, yarn, npm), especificar o ambiente virtual ou até mesmo definir se o build será em Debug ou Release.
O suporte a formatos mixados também é um destaque, permitindo que você defina comportamentos distintos para Windows e POSIX dentro da mesma estrutura de hooks:
hooks:
predeploy:
windows:
run: ./hooks/build.ps1
posix:
run: ./hooks/build.sh
Para empresas brasileiras focadas em FinOps e eficiência, essa flexibilidade permite integrar scripts de validação de custo ou conformidade de segurança diretamente no fluxo de deployment, reduzindo o tempo de ciclo (lead time) sem abrir mão da governança.
Considerações finais
Esta atualização transforma os hooks de simples shell commands em verdadeiras extensões da aplicação. Para escalar o uso do azd, recomendamos que os times consolidem seus scripts de automação dentro da linguagem que já dominam. Isso facilita o code review, a implementação de testes unitários nesses scripts e, consequentemente, a estabilidade do fluxo de deployment.
Para atualizar e começar a usar, basta executar azd update. Caso sua empresa precise de consultoria para integrar fluxos de automação complexos ou redesenhar sua infraestrutura seguindo as melhores práticas de DevOps e FinOps, nossa equipe está pronta para auxiliar no seu crescimento.
Artigo originalmente publicado por Kristen Womack em Azure Updates - Latest from Azure Charts.