Adicionar e configurar uma definição de ambiente
Este guia explica como adicionar ou atualizar uma definição de ambiente em um catálogo de Ambientes de Implantação Azure. Ele também explica como fazer referência a uma imagem de contêiner para implantar seu ambiente.
Nos Ambientes de Implantação Azure, você pode usar um catálogo para fornecer às suas equipes de desenvolvimento um conjunto coletado de modelos de infraestrutura como código (IaC) predefinidos chamados de definições de ambiente.
Uma definição de ambiente é composta por pelo menos dois arquivos:
- Um modelo de uma estrutura IaC. Por exemplo:
- Um modelo do ARM (Azure Resource Manager) pode usar um arquivo chamado azuredeploy.json.
- Um modelo Bicep pode usar um arquivo chamado main.bicep.
- Um modelo Bicep pode usar um arquivo chamado azuredeploy.bicep.
- Um arquivo de configuração que fornece metadados sobre o modelo. Esse arquivo deve ser nomeado como environment.yaml.
As equipes de desenvolvimento usam definições de ambiente fornecidas no catálogo para implantar ambientes no Azure.
A Microsoft oferece um catálogo de exemplo que você pode usar como seu repositório. Você também pode usar seu próprio repositório privado ou pode bifurcar e personalizar as definições de ambiente no catálogo de exemplo.
Depois que você adicionar um catálogo ao centro de desenvolvimento, o serviço examina o caminho da pasta especificado para identificar as pastas que contêm um modelo do ARM e um arquivo de ambiente associado. O caminho da pasta especificado deve ser uma pasta contendo subpastas guardando os arquivos de definição de ambiente.
Adicione uma definição de ambiente.
Para adicionar uma definição de ambiente a um catálogo no ADE (Ambientes de Implantação Azure), primeiro adicione os arquivos ao repositório. Em seguida, sincronize o catálogo do centro de desenvolvimento com o repositório atualizado.
Para adicionar uma definição de ambiente:
No repositório GitHub ou Azure DevOps, crie uma subpasta no caminho da pasta do repositório.
Adicione dois arquivos à nova subpasta do repositório:
Um arquivo de modelo IaC.
Um ambiente como um arquivo YAML.
O arquivo environment.yaml contém metadados relacionados ao modelo IaC.
O script a seguir é um exemplo do conteúdo de um arquivo environment.yaml para um modelo do ARM:
name: WebApp version: 1.0.0 summary: Azure Web App Environment description: Deploys a web app in Azure without a datastore runner: ARM templatePath: azuredeploy.json
Use a tabela a seguir para entender os campos no arquivo environment.yaml:
Campo Descrição name O nome da definição de ambiente. version A versão da definição de ambiente. Esse campo é opcional. summary Uma breve descrição da definição de ambiente. descrição Uma descrição detalhada da definição de ambiente. runner A estrutura IaC que o modelo usa. O valor pode ser ARM
ouBicep
. Você também pode especificar um caminho para um modelo armazenado em um registro de contêiner.templatePath O caminho para o arquivo de modelo IaC. Para saber mais sobre as opções e os tipos de dados que você pode usar em environment.yaml, consulte Parâmetros e tipos de dados em environment.yaml.
No centro de desenvolvimento, acesse Catálogos, selecione o repositório e, em seguida, selecione Sincronizar.
O serviço verifica o repositório para encontrar novas definições de ambiente. Depois de sincronizar o repositório, novas definições de ambiente estarão disponíveis para todos os projetos no centro de desenvolvimento.
Usar imagens de contêiner para implantar ambientes
O ADE usa imagens de contêiner para definir como os modelos para ambientes de implantação são implantados. O ADE dá suporte ao ARM e ao Bicep nativamente, para que você possa configurar uma definição de ambiente que implanta recursos do Azure para um ambiente de implantação adicionando os arquivos de modelo (azuredeploy.json e environment.yaml) ao catálogo. Em seguida, o ADE usa uma imagem de contêiner arm ou Bicep padrão para criar o ambiente de implantação.
Você pode criar imagens de contêiner personalizadas para implantações de ambiente mais avançadas. Por exemplo, você pode executar scripts antes ou depois da implantação. O ADE dá suporte a imagens de contêiner personalizadas para implantações de ambiente, que podem ajudar a implantar estruturas IaC, como Pulumi e Terraform.
A equipe do ADE fornece modelos ARM e Bicep de exemplo acessíveis por meio do Registro de Artefato da Microsoft (também conhecido como Registro de Contêiner da Microsoft) para ajudá-lo a começar.
Para obter mais informações sobre como criar uma imagem de contêiner personalizada, consulte:
- Configurar uma imagem de contêiner para executar implantações
- Configurar a imagem do contêiner para executar implantações com ARM e Bicep
- Configurar uma imagem de contêiner para executar implantações com o Terraform
Especificar a imagem de contêiner de exemplo ARM ou Bicep
No arquivo environment.yaml, a propriedade runner especifica o local da imagem que você deseja usar. Para usar a imagem de exemplo publicada no Registro de Artefato da Microsoft, use o respectivo executor de identificadores, conforme listado na tabela a seguir.
Estrutura IaC | Valor de runner |
---|---|
ARM | ARM |
Bicep | Bicep |
Terraform | Nenhuma imagem de exemplo Usar uma imagem de contêiner personalizada. |
O exemplo a seguir mostra um executor que faz referência à imagem de contêiner Bicep de exemplo:
name: WebApp
version: 1.0.0
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: Bicep
templatePath: azuredeploy.json
Use uma imagem de contêiner personalizada
Para usar uma imagem de contêiner personalizada armazenada em um repositório, use o seguinte formato de executor no arquivo environment.yaml:
runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}”`
Edite o valor do executor para fazer referência ao repositório e à imagem personalizada, conforme mostrado no exemplo a seguir:
name: WebApp
version: 1.0.0
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}"
templatePath: azuredeploy.json
Propriedade | Descrição |
---|---|
YOUR_REGISTRY | O registro que armazena a imagem personalizada. |
YOUR_REPOSITORY | Seu repositório nesse registro. |
YOUR_TAG | Uma marca, como um número de versão. |
Especificar parâmetros para uma definição de ambiente
Você pode especificar parâmetros para suas definições de ambiente para permitir que os desenvolvedores personalizem seus ambientes.
Os parâmetros são definidos no arquivo environment.yaml.
O script a seguir é um exemplo de um arquivo environment.yaml para um modelo do ARM que inclui dois parâmetros; location
e name
:
name: WebApp
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json
parameters:
- id: "location"
name: "location"
description: "Location to deploy the environment resources"
default: "[resourceGroup().location]"
type: "string"
required: false
- id: "name"
name: "name"
description: "Name of the Web App "
default: ""
type: "string"
required: false
Para saber mais sobre os parâmetros e seus tipos de dados que você pode usar em environment.yaml, consulte Parâmetros e tipos de dados em environment.yaml.
Os desenvolvedores podem fornecer valores para parâmetros específicos para seus ambientes por meio do portal do desenvolvedor.
Os desenvolvedores também podem fornecer valores para parâmetros específicos para seus ambientes por meio da CLI.
az devcenter dev environment create --environment-definition-name
--catalog-name
--dev-center
--environment-name
--environment-type
--project
[--description]
[--no-wait]
[--parameters]
[--tags]
[--user]
[--user-id]
Para saber mais sobre o comando az devcenter dev environment create
, consulte a extensão de desenvolvimento da CLI do Azure.
Atualize uma definição de ambiente:
Para modificar a configuração dos recursos do Azure em uma definição de ambiente existente nos Ambientes de Implantação do Azure, atualize o arquivo de modelo associado no repositório. A alteração reflete imediatamente quando você cria um novo ambiente usando a definição de ambiente específica. A atualização também é aplicada quando você reimplanta um ambiente associado a essa definição de ambiente.
Para atualizar os metadados relacionados ao modelo, modifique environment.yaml e depois atualize o catálogo.
Exclua uma definição de ambiente:
Para excluir uma definição de ambiente existente, no repositório, exclua a subpasta que contém o arquivo de modelo e o arquivo YAML do ambiente associado. Em seguida, atualize o catálogo.
Depois de excluir uma definição de ambiente, as equipes de desenvolvimento não poderão mais usar a definição de ambiente específica para implantar um novo ambiente. Atualize a referência de definição de ambiente para todos os ambientes existentes que usam a definição de ambiente excluída. Se a referência não for atualizada e o ambiente for reimplantado, a implantação falhará.