O Azure CLI 2.0 é uma poderosa ferramenta de linha de comando (Command Line Interface), que pode ser usada tanto no Windows, Linux ou macOS. Com ela é possível gerenciar e administrar os seus recursos no Microsoft Azure de maneira bastante simples e intuitiva. É um projeto open source (https://github.com/Azure/azure-cli).
Na semana passada assisti o video do MVP Rodrigo Crespi, sobre como instalar o bash do Linux (Ubuntu) no Windows. Foi então que pensei no conteúdo deste post: instalar o Azure CLI 2.0 no bash do Linux Subsystem, provisionar alguns recursos no Azure via linha de comando, e então fazer deploy de um repositório Git remoto para estes. O procedimento é simples, vamos lá:
- Se ainda não tiver instalado o Windows Subsystem for Windows, recomendo que você assista o vídeo
- Abra o bash, e execute os comandos a seguir:
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ wheezy main" | \
sudo tee /etc/apt/sources.list.d/azure-cli.list
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys 417A0893
sudo apt-get install apt-transport-https
sudo apt-get update && sudo apt-get install azure-cli
- Terminada a instalação com sucesso (a minha levou em torno de 5 minutos), podemos começar a utilizar o Azure CLI 2.0. Meu objetivo neste ponto, é criar uma Azure WebApp no plano grátis. Será necessário efetuar o login, criar um Resource Group, Application Plan e então a WebApp:
# Efetuar login no Azure
# Será necessário acessar https://aka.ms/devicelogin e fornecer o código de autenticação,
# após a execução do comando abaixo
az login
# Criar um Resource Group
# Nota: substitua "AzureCLIDemoRG" pelo nome do seu Resource Group
az group create --location brazilsouth --name AzureCLIDemoRG
# Criar um Service Plan
# Nota 1: substitua "AzureCLIDemoSP" pelo nome do seu Service Plan
# Nota 2: substitua "AzureCLIDemoRG" pelo nome do seu Resource Group criado no passo anterior
az appservice plan create --name AzureCLIDemoSP --resource-group AzureCLIDemoRG --sku FREE
# Criar a WebApp
# Nota 1: substitua "AzureCLIDemoWebSite" pelo nome do sua WebApp - será usado na URL de acesso (http://AzureCLIDemoWebSite.azurewebsites.net)
# Nota 2: subsitua "AzureCLIDemo" e "AzureCLIDemoSP" pelos valores criados anteriormente
az webapp create --name AzureCLIDemoWebSite --resource-group AzureCLIDemoRG --plan AzureCLIDemoSP
- WebSite criado, basta acessa-lo:
Instalando o Git:
sudo apt install git
Criando o reposiório local e adicionando os arquivos da aplicação:
- Assumindo que os arquivos da minha aplicação estão em C:\AzureCLIDemo, estes são montados em /mnt/c/AzureCLIDemo, crie o repositório local:
git init .
- Adicione os arquivos e faça commit ao master branch:
git add .
git commit -m "Primeiro commit da Demo Azure CLI 2.0 com Git"
- Observação: talvez apareça uma mensagem de erro, solicitando configuração de e-mail e nome. Para adicionar esses dados execute o comando abaixo e efetue o commit novamente:
git config --global user.email "seu@email.com"
git config --global user.name "seunome"
A partir desse momento já poderíamos rodar o deploy a partir do reposiório local, entretanto vamos mais longe. O próximo passo será sincronizar meu repositório local com um repositório remoto (no Visual Studio Team Services).
Criando o repositório Git no Visual Studio Team Services:
- Se você ainda não tem uma conta no VSTS, será necessário criar (free): https://www.visualstudio.com/vso/
- Uma vez criada sua conta, crie um novo projeto, setando Version Control como Git:
- Configure as credenciais – a url será necessária no proximo passo:
- Sincronizando o repositório local com o remoto (branch master X master):
# Referenciando reposiório remoto
git remote add origin https://SUACONTA.visualstudio.com/_git/AzureCLIDemo
# Push: enviando os arquivos locais para o VSTS
git push origin master
- Assim que o processo de push terminar, é possível visualizar seus arquivos no VSTS:
- Utilizando o Azure CLI 2.o para efetuar o deploy:
az webapp deployment source config --name AzureCLIDemoWebSite --resource-group AzureCLIDemoRG --repo-url https://SUACONTA.visualstudio.com/_git/AzureCLIDemo --branch master --manual-integration
Atenção: o Azure CLI possui atualizações frequentes, geralmente a cada duas semanas – inclusive comandos listados neste post estão sujeitos a alteração. Como a instalação foi feita a partir do apt-get, o comando az component não é suportado. Para atualizar, execute o comando a seguir:
sudo apt-get update && sudo apt-get install azure-cli
Lembrete: Azure CLI é conteúdo do exame 70-533.
Até a próxima!
[ ]´s