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 a ser usado com seu aplicativo, que incluem:
- Usar código no diretório atual: essa abordagem analisa seu aplicativo e gera automaticamente recursos de infraestrutura e configuração com suporte.
- 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 da CLI do Desenvolvedor do Azure.
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 o documento Adicionar azd
suporte ao seu aplicativo usando um 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 o 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 infraestrutura como código para provisionar recursos do Azure para uma pilha de azd
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 organizar a estrutura de modelo correta e os recursos iniciais, mas ainda criar seus próprios arquivos de infraestrutura.
Para seguir as etapas adiante usando um aplicativo de exemplo existente, clone o seguinte projeto inicial em um diretório vazio no 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 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 do projeto raiz em seu editor de escolha, como Visual Studio Code.
Abra o
main.bicep
arquivo na pasta usando seuinfra
editor. Esse 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êAdd resources to be provisioned below
, adicione o seguinte Bicep:// 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' } } }
Observação
- 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 marcas 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 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 ele. 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 arquivo:
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.
Observação
azd
também suporta o uso do Buildpack para conteinerizar seus aplicativos por padrão. Se o seu azd
modelo se destina a Aplicativos de Contêiner do Azure ou ao Serviço de Kubernetes do Azure, mas não inclui um arquivo do Docker, azd
gerará automaticamente uma imagem usando o Buildpack.