Partilhar via


Adicionar e configurar uma definição de ambiente

Este artigo explica como adicionar, atualizar ou excluir uma definição de ambiente em um catálogo de Ambientes de Implantação do Azure. Ele também explica como fazer referência a uma imagem de contêiner para implantar seu ambiente.

Em Ambientes de Implantação do Azure, você usa um catálogo para fornecer às suas equipes de desenvolvimento um conjunto selecionado de modelos predefinidos de infraestrutura como código (IaC) chamados 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 Azure Resource Manager (ARM) pode usar um arquivo chamado azuredeploy.json.
    • Um modelo Bicep pode usar um arquivo chamado main.bicep.
    • Um modelo Terraform pode usar um arquivo chamado azuredeploy.tf.
  • Um arquivo de configuração que fornece metadados sobre o modelo. Esse arquivo deve ser chamado environment.yaml.

Suas equipes de desenvolvimento usam as 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 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 de adicionar um catálogo ao seu centro de desenvolvimento, o serviço verifica o caminho da pasta especificada para identificar pastas que contêm um modelo e um arquivo de ambiente associado. O caminho da pasta especificada deve ser uma pasta que contenha subpastas que contenham os arquivos de definição de ambiente.

Adicionar uma definição de ambiente

Para adicionar uma definição de ambiente a um catálogo nos Ambientes de Implantação do Azure (ADE), 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:

  1. No repositório do GitHub ou do Azure DevOps , crie uma subpasta no caminho da pasta do repositório.

  2. 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 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
      nome O nome da definição de ambiente.
      versão A versão da definição de ambiente. Este campo é opcional.
      Resumo Uma breve descrição da definição de ambiente.
      descrição Uma descrição pormenorizada da definição de ambiente.
      corredor A estrutura IaC que o modelo usa. O valor pode ser ARM ou Bicep. 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.

  3. No centro de desenvolvimento, vá para Catálogos, selecione o repositório e, em seguida, selecione Sincronizar.

    Captura de tela que mostra como sincronizar o catálogo.

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 ficam 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 suporta ARM e Bicep nativamente, portanto, você pode 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 seu 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 oferece suporte a imagens de contêiner personalizadas para implantações de ambiente, o que pode ajudar a implantar estruturas IaC como Pulumi e Terraform.

A equipe do ADE fornece imagens de contêiner ARM e Bicep de exemplo acessíveis por meio do Microsoft Artifact Registry (também conhecido como Microsoft Container Registry) para ajudá-lo a começar.

Para obter mais informações sobre como criar uma imagem de contêiner personalizada, consulte:

Especifique a imagem do recipiente de amostra 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 Microsoft Artifact Registry, use o respetivo corredor de identificadores, conforme listado na tabela a seguir.

Estrutura do IAC Valor do corredor
ARM ARM
Bicep Bicep
Terraform Nenhuma imagem de exemplo. Em vez disso, use uma imagem de contêiner personalizada.

O exemplo a seguir mostra um corredor 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

Especificar uma imagem de contêiner personalizada

Para usar uma imagem de contêiner personalizada armazenada em um repositório, use o seguinte formato runner no arquivo environment.yaml:

runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}”`

Edite o valor runner 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
Property Description
YOUR_REGISTRY O registro que armazena a imagem personalizada.
YOUR_REPOSITORY Seu repositório nesse registro.
YOUR_TAG Uma tag 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 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 através do portal do desenvolvedor.

Captura de tela do portal do desenvolvedor do portal do desenvolvedor mostrando o painel de parâmetros.

Os desenvolvedores também podem fornecer valores para parâmetros específicos para seus ambientes através 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 az devcenter dev environment create comando, consulte a extensão devcenter da CLI do Azure.

Atualizar 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 é refletida 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 quaisquer metadados relacionados ao modelo, modifique environment.yaml e atualize o catálogo.

Excluir 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 podem mais usar a definição de ambiente específica para implantar um novo ambiente. Atualize a referência de definição de ambiente para quaisquer ambientes existentes que usem a definição de ambiente excluído. Se a referência não for atualizada e o ambiente for reimplantado, a implantação falhará.