Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Explore 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
o . Este guia fornece um detalhamento minucioso de azd up
e como os diferentes estágios desse processo de fluxo de trabalho se correlacionam com a estrutura de um modelo azd
.
Siga 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 sua máquina local:
azd init -t hello-azd
Para obter mais informações sobre como começar com azd
e o hello-azd
modelo, visite o artigo Guia de início rápido: implantar um modelo de 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 a partir de uma janela de terminal aberta para a pasta de modelos:
azd up
azd up
foi 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 basicamente envolve 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 respetivo comando, mas azd up
fornece um wrapper de conveniência para simplificar o processo geral. Cada estágio desempenha um papel crítico para garantir um processo de implantação suave e automatizado. Você pode influenciar os estágios do 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.
A fase de embalagem
O estágio de empacotamento é o primeiro passo no azd up
fluxo de trabalho. Durante esta fase:
- O código do aplicativo está preparado para implantação. Dependendo da linguagem de programação com a qual o aplicativo modelo é criado, o empacotamento pode envolver a criação ou compilação do aplicativo, a agregação de dependências ou a criação de artefatos de implantação, como imagens do Docker.
- A
azd
estrutura do modelo normalmente inclui umasrc
pasta onde o código do aplicativo reside. Scripts de compilação ou arquivos de configuração (como um Dockerfile) podem influenciar como o aplicativo deve ser empacotado. - O
azure.yaml
arquivo contém mapeamentos de configuração que informamazd
onde o código do seu aplicativo vive e qual idioma ele usa paraazd
que possa empacotá-lo adequadamente. - Este 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 independentemente fora de azd up
usando o comando azd package
.
azd package
Exemplo de configurações de empacotamento
azd
Pode empacotar aplicativos criados com diferentes idiomas de maneiras diferentes. Por exemplo, se seu aplicativo usa uma abordagem em contêineres, o azd
modelo pode 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 através do azure.yaml
arquivo.
Por exemplo, considere a seguinte estrutura de projeto e configurações do hello-azd
modelo inicial:
Na imagem anterior, o arquivo azure.yaml
:
- Define o
src
código no diretó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 aplicativo no src
diretório como uma imagem de contêiner .NET. Se um Dockerfile não estiver configurado, azd
também poderá empacotar o aplicativo .NET usando o processo de publicação .NET padrão.
A etapa 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 uma instância do Serviço de Aplicativo do Azure para hospedar o próprio aplicativo e uma Conta de Armazenamento do Azure para armazenar arquivos carregados. O estágio de provisionamento usa arquivos de infraestrutura como código (IaC) incluídos no modelo para definir os recursos.
Alguns pontos-chave para entender sobre o estágio de provisionamento incluem:
-
azd
suporta tanto o Bicep como o Terraform para tarefas de infraestrutura como código. - Por padrão, os ficheiros de infraestrutura como código são armazenados na pasta
infra
, mas esse local pode ser personalizado. -
azd
procura um arquivomain.bicep
oumain.tf
para atuar como o arquivo principal de orquestração para o processo IaC.
Você também pode executar o processo de provisionamento por conta própria fora do azd up
, utilizando 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 trecho do modelo inicial main.bicep
no hello-azd
:
// ...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 do azd up
fluxo de trabalho. Durante esta fase:
- Os artefatos do aplicativo criados durante o estágio de empacotamento são implantados nos recursos provisionados do Azure.
-
azd
usa arquivos de configuração no modelo, comoazure.yaml
, para determinar como implantar o aplicativo. - As variáveis de ambiente e as 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 sozinho fora de azd up
usando o comando azd deploy
.
azd deploy
Exemplo de configurações de implantação
Dentro do ficheiro azure.yaml
, pode-se especificar qual serviço no seu projeto deve ser implantado em qual recurso do 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 src
pasta 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 do azd
modelo. Quer esteja a implementar uma aplicação Web simples ou uma arquitetura de microsserviços complexa, o azd up
comando simplifica a viagem do código para a nuvem.