Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Explorar o
A CLI do Desenvolvedor do Azure (azd) permite provisionar e implantar recursos de aplicativo no Azure com apenas um único comando usando azd up. Este guia fornece um detalhamento completo de azd up e mostra como os diferentes estágios desse fluxo de trabalho se correlacionam com a estrutura de um azd modelo.
Acompanhar usando um modelo
As seções à frente usam exemplos do hello-azd modelo para demonstrar vários azd conceitos e padrões. Você pode acompanhar inicializando o modelo em seu computador local:
azd init -t hello-azd
Para obter mais informações sobre como começar a usar azd e o modelo hello-azd, visite o artigo Guia de Início Rápido: Implantar um modelo da CLI do Desenvolvedor do Azure.
Conceitos essenciais
Ao trabalhar com um azd modelo, você pode provisionar e implantar seus recursos de aplicativo no Azure usando o azd up comando. Execute o comando na janela do terminal que está aberta na pasta do seu modelo.
azd up
azd up é projetado para que você possa executar repetidamente o comando à medida que desenvolve seu aplicativo e as novas alterações são implantadas incrementalmente. O comando inicia um fluxo de trabalho poderoso que essencialmente encapsula três estágios específicos:
- Empacotamento: prepara o código do aplicativo e as dependências para implantação.
- Provisionamento: cria e configura os recursos necessários do Azure exigidos pelo aplicativo usando arquivos de infraestrutura como código.
- Implantação: implanta o aplicativo empacotado nos recursos provisionados do Azure.
Você também pode executar cada um desses estágios individualmente usando seu respectivo comando, mas azd up fornece um wrapper de conveniência para simplificar o processo geral. Cada estágio desempenha um papel crítico na garantia de um processo de implantação automatizado e suave. Você pode influenciar os estágios de azd up fluxo de trabalho usando configurações no arquivo de modelo azure.yaml . As seções a seguir exploram cada estágio com mais detalhes.
O estágio de empacotamento
O estágio de empacotamento é a primeira etapa no azd up fluxo de trabalho. Durante este estágio:
- O código do aplicativo está preparado para implantação. Dependendo da linguagem de programação com a qual o aplicativo de modelo foi criado, o empacotamento pode envolver a criação ou compilação do aplicativo, o agrupamento de dependências ou a criação de artefatos de implantação, como imagens do Docker.
- A
azdestrutura de modelo normalmente inclui umasrcpasta em que o código do aplicativo reside. Criar scripts ou arquivos de configuração (como um Dockerfile) pode influenciar como o aplicativo deve ser empacotado. - O
azure.yamlarquivo contém mapeamentos de configuração que informamazdonde o código do aplicativo reside e qual idioma ele usa paraazdque possa empacotá-lo adequadamente. - Esse estágio garante que o aplicativo esteja em um estado implantável antes de passar para a próxima etapa.
Você pode executar o processo de empacotamento por conta própria fora do azd up usando o comando azd package:
azd package
Configurações de empacotamento de exemplo
azd pode empacotar aplicativos criados com idiomas diferentes de diferentes maneiras. Por exemplo, se seu aplicativo usar uma abordagem em contêineres, o azd modelo poderá incluir um Dockerfile no diretório do aplicativo src . O estágio de empacotamento cria uma imagem do Docker para o aplicativo com base nesse arquivo. Essas configurações são gerenciadas por meio do azure.yaml arquivo.
Por exemplo, considere a seguinte estrutura de projeto e as configurações do hello-azd modelo inicial:
Na imagem anterior, o arquivo azure.yaml:
- Define o código no
srcdiretório como um aplicativo C#. - Especifica o local de um Dockerfile a ser usado para criar uma imagem de contêiner do aplicativo.
Quando você executa azd up (ou azd package), a CLI do Desenvolvedor do Azure usa essa combinação de configurações para criar e empacotar o código do src aplicativo no diretório como uma imagem de contêiner do .NET. Se um Dockerfile não tiver sido configurado, azd também poderá empacotar o aplicativo .NET usando o processo de publicação padrão do .NET.
O estágio de provisionamento
O estágio de provisionamento cria e configura os recursos necessários do Azure para seu aplicativo. Por exemplo, seu aplicativo pode exigir que uma instância do Serviço de Aplicativo do Azure hospede o aplicativo em si e uma Conta de Armazenamento do Azure para armazenar arquivos carregados. O estágio de provisionamento usa arquivos iac (infraestrutura como código) incluídos no modelo para definir os recursos.
Alguns pontos importantes a serem entendidos sobre o estágio de provisionamento incluem:
-
O
azddá suporte ao Bicep e ao Terraform para tarefas de infraestrutura como código. - Por padrão, os arquivos de infraestrutura como código são armazenados na
infrapasta, mas esse local pode ser personalizado. -
azdpesquisa um arquivomain.bicepoumain.tfpara atuar como o arquivo de orquestração principal para o processo de IaC.
Você também pode executar o processo de provisionamento de forma independente, fora do azd up, usando o comando azd provision.
azd provision
Exemplo de configurações de provisionamento
Dentro da infra pasta, um main.bicep arquivo geralmente define os recursos do Azure que azd devem ser criados para o aplicativo. Considere o seguinte snippet de main.bicep no modelo hello-azd de início:
// ...omitted code for other resource configurations
// Create an Azure Cosmos DB account
module cosmos 'app/cosmos.bicep' = {
name: 'cosmos'
scope: rg
params: {
userPrincipalId: principalId
managedIdentityId: identity.outputs.principalId
}
}
// Create a storage account
module storage './core/storage/storage-account.bicep' = {
name: 'storage'
scope: rg
params: {
name: !empty(storageAccountName) ? storageAccountName : '${abbrs.storageStorageAccounts}${resourceToken}'
location: location
tags: tags
containers: [
{ name: 'attachments' }
]
}
}
// Container apps environment and registry
module containerAppsEnv './core/host/container-apps.bicep' = {
name: 'container-apps'
scope: rg
params: {
name: 'app'
containerAppsEnvironmentName: !empty(containerAppsEnvName) ? containerAppsEnvName : '${abbrs.appManagedEnvironments}${resourceToken}'
containerRegistryName: !empty(containerRegistryName) ? containerRegistryName : '${abbrs.containerRegistryRegistries}${resourceToken}'
location: location
}
}
// ...omitted code for other resource configurations
Usando o código Bicep anterior, azd cria os seguintes recursos:
- Uma instância do Azure Cosmos DB para armazenar dados enviados por meio do aplicativo
- Uma conta de Armazenamento do Azure para armazenar imagens carregadas
- Um Aplicativo de Contêiner do Azure para hospedar o aplicativo
O estágio de implantação
O estágio de implantação é a etapa final no azd up fluxo de trabalho. Durante este estágio:
- Os artefatos de aplicativo criados durante o estágio de empacotamento são implantados nos recursos provisionados do Azure.
-
azdusa arquivos de configuração no modelo, comoazure.yaml, por exemplo, para determinar como implantar o aplicativo. - Variáveis de ambiente e cadeias de conexão são configuradas para garantir que o aplicativo possa interagir com os recursos provisionados.
Você também pode executar o processo de implantação por conta própria fora do azd up usando o comando azd deploy.
azd deploy
Configurações de implantação de exemplo
Dentro do arquivo, você pode especificar qual serviço em seu projeto deve ser implantado em qual recurso do azure.yaml Azure. Por exemplo, considere as seguintes configurações para o hello-azd modelo inicial:
metadata:
template: hello-azd-dotnet
name: azd-starter
services:
aca:
project: ./src # The location of the service source code
language: csharp
host: containerapp # The provisioned resource to deploy the service to
docker:
path: ./Dockerfile
O código anterior instrui azd a implantar os artefatos empacotados do código na pasta src para o containerapp que foi criado durante o estágio de provisionamento. Você também pode definir vários serviços e mapear cada um para um host diferente.
Conclusão
O azd up fluxo de trabalho simplifica o processo de implantação de aplicativos no Azure automatizando os estágios de empacotamento, provisionamento e implantação. Os desenvolvedores podem garantir um processo de implantação consistente e eficiente, aderindo à estrutura de azd modelo. Se você estiver implantando um aplicativo Web simples ou uma arquitetura de microsserviços complexa, o azd up comando simplifica o percurso de código para nuvem.