Adicionar suporte à CLI do Desenvolvedor do Azure ao seu aplicativo usando um modelo existente
A CLI do Desenvolvedor do Azure (azd
) fornece dois fluxos de trabalho diferentes para inicializar um modelo para usar com seu aplicativo, que incluem:
- Usar código no diretório atual: essa abordagem analisa seu aplicativo e gera automaticamente a infraestrutura suportada e os recursos de configuração.
- Selecione um modelo: essa abordagem permite integrar um modelo existente ao seu aplicativo ou usar um modelo existente como ponto de partida para um novo aplicativo.
Ambas as abordagens são exploradas no documento de visão geral Criar modelos de CLI do Azure Developer.
Neste artigo, você aprenderá a adicionar suporte para a CLI do Desenvolvedor do Azure (azd
) ao seu aplicativo por meio da abordagem Selecionar um modelo . Visite Adicionar azd
suporte ao seu aplicativo usando um documento de modelo existente para obter mais informações sobre a abordagem alternativa. Você também pode visitar o Treinamento - criar e implantar azd
modelos para obter mais informações sobre a criação azd
de modelos.
Selecione um modelo para seu aplicativo
O fluxo de trabalho Selecionar um modelo do comando permite que você escolha um modelo existente azd
para usar como ponto de azd init
partida. O conteúdo do modelo selecionado é adicionado ao diretório raiz do seu projeto. A maioria dos modelos fornece o conjunto necessário de arquivos e pastas, e muitos incluem um conjunto completo de arquivos de azd
infraestrutura como código para provisionar recursos do Azure para uma pilha de aplicativos escolhida.
Neste exemplo, você usará o modelo Starter - Bicep , que inclui a estrutura essencial de um azd
modelo e algum código clichê útil para começar. Os modelos iniciais são uma ótima opção quando você deseja criar a estrutura de modelo correta e os recursos iniciais, mas ainda criar seus próprios arquivos de infraestrutura.
Para acompanhar as etapas à frente usando um aplicativo de exemplo existente, clone o seguinte projeto inicial para um diretório vazio no seu computador:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Na ferramenta de linha de comando de sua escolha, navegue até o diretório raiz do projeto clonado.
Execute o
azd init
comando para inicializar umazd
modelo.azd init
Quando solicitado, escolha a opção Selecionar um modelo.
Na lista de modelos, selecione Starter - Bicep. Você pode digitar o nome do modelo ou usar as teclas de seta do teclado para encontrá-lo.
Quando solicitado, insira um nome de ambiente curto, como testenv.
Depois de executar
azd init
o , os seguintes ativos são adicionados ao diretório atual:├── .azdo [ Configures an Azure Pipeline ] ├── .devcontainer [ For DevContainer ] ├── .github [ Configures a GitHub workflow ] ├── .vscode [ VS Code workspace configurations ] ├── .azure [ Stores Azure configurations and environment variables ] ├── infra [ Contains infrastructure as code files ] │ ├── main.bicep/main.tf [ Main infrastructure file ] │ ├── main.parameters.json/main.tfvars.json [ Parameters file ] │ └── core/modules [ Contains reusable Bicep/Terraform modules ] └── azure.yaml [ Describes the app and type of Azure resources]
Atualizar os arquivos do Bicep
Seu projeto agora contém a estrutura principal e os ativos de um azd
modelo. No entanto, para provisionar os recursos do Azure para seu projeto específico, os arquivos Bicep na infra
pasta precisam ser atualizados. Para hospedar o aplicativo de exemplo, você precisará definir os seguintes recursos usando arquivos Bicep:
- Um plano do Serviço de Aplicativo do Azure
- Um Serviço de Aplicativo do Azure em execução no Linux
Abra o diretório raiz do projeto no editor de sua escolha, como o Visual Studio Code.
Abra o
main.bicep
arquivo na pasta usando seuinfra
editor. Este arquivo contém código clichê útil para configurar variáveis essenciais, parâmetros e convenções de nomenclatura. Abaixo do bloco de comentários em torno da linha 50 que lê , adicione o seguinte BícepsAdd resources to be provisioned below
:// Creates an app service instance to host the app module web './core/host/appservice.bicep' = { name: 'web' scope: rg params: { name: '${abbrs.webSitesAppService}web-${resourceToken}' location: location tags: union(tags, { 'azd-service-name': 'web' }) appServicePlanId: appServicePlan.outputs.id runtimeName: 'python' runtimeVersion: '3.8' scmDoBuildDuringDeployment: true } } // Create an App Service Plan to group applications under the same payment plan and SKU module appServicePlan './core/host/appserviceplan.bicep' = { name: 'appserviceplan' scope: rg params: { name: '${abbrs.webServerFarms}${resourceToken}' location: location tags: tags sku: { name: 'B1' } } }
Nota
- Uma cadeia de caracteres exclusiva é gerada com base na ID da assinatura e usada como uma
${resourceToken}
variável. Esse token é anexado ao nome de todos os recursos do Azure criados peloazd
. azd
usa tags para identificar recursos para que você possa modificar os nomes com base na convenção de nomenclatura da sua organização.- A
'azd-service-name': 'web'
tag no serviço de aplicativo é o valorazd
usado para identificar o host de implantação. O valor deve ser o mesmo que o definido para o serviço no arquivo azure.yaml .
- Uma cadeia de caracteres exclusiva é gerada com base na ID da assinatura e usada como uma
Atualizar o arquivo azure.yaml
Para implantar o aplicativo, azd
precisa saber mais sobre seu aplicativo. O azure.yaml
arquivo é usado para definir o local do código-fonte, o idioma e o serviço de hospedagem do Azure para cada serviço em seu aplicativo. Para obter detalhes completos, consulte o esquema azure.yaml.
Abra o
azure.yaml
na raiz do projeto.Adicione as seguintes linhas à parte inferior do ficheiro:
name: msdocs-python-flask-webapp-quickstart services: web: project: . language: py host: appservice
Provisionar e implantar o modelo
Salve todas as suas alterações e execute o seguinte comando para provisionar e implantar os recursos do aplicativo no Azure:
azd up
Quando o comando terminar, clique no link na saída do comando para navegar até o site implantado.
Seu projeto agora é compatível com a CLI do Desenvolvedor do Azure e pode ser usado como um modelo.
Nota
azd
também suporta o uso do Buildpack para containerizar seus aplicativos por padrão. Se o seu azd
modelo tiver como alvo os Aplicativos de Contêiner do Azure ou o Serviço Kubernetes do Azure, mas não incluir um arquivo do Docker, azd
gerará automaticamente uma imagem usando o Buildpack.