Compartilhar via


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:

  1. No repositório GitHub ou 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 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 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, acesse 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 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:

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.

Captura de tela 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 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á.