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

Suas equipes de desenvolvimento usam as definições de ambiente que você fornece no catálogo para implantar ambientes no Azure.

A Microsoft fornece 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 de adicionar um catálogo ao centro de desenvolvimento, o serviço verifica o caminho da pasta especificado para identificar pastas que contêm um modelo e um arquivo de ambiente associado. O caminho da pasta especificado deve ser uma pasta que contém subpastas que contêm os arquivos de definição de ambiente.

Adicionar uma definição de ambiente

Para adicionar uma definição de ambiente a um catálogo em Ambientes de Implantação, 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
      

      Esta tabela descreve 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.
      description 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, em Configuração de ambiente, selecione Catálogos. Selecione o repositório e selecione Sincronizar.

    Captura de tela que mostra como sincronizar um 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

Os Ambientes de Implantação usam imagens de contêiner para definir como os modelos para ambientes de implantação são implantados. Os Ambientes de Implantação dão 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, os Ambientes de Implantação usam uma imagem de contêiner do 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. Os Ambientes de Implantação dão suporte a imagens de contêiner personalizadas para implantações de ambiente, o que pode ajudar a implantar estruturas IaC, como Pulumi e Terraform.

Para começar, você pode obter imagens de contêiner de exemplo do ARM e Bicep por meio do Registro de Artefato da Microsoft (também conhecido como Registro de Contêiner da Microsoft).

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.

Especificar a imagem de contêiner de exemplo do ARM ou Bicep

No arquivo environment.yaml, a runner propriedade especifica o local da imagem que você deseja usar. Para usar a imagem de exemplo publicada no Registro de Artefatos da Microsoft, use os runner valores listados na tabela a seguir.

Estrutura IaC Valor runner
ARM ARM
Bíceps Bíceps
Terraformação Nenhuma imagem de exemplo. Em vez disso, use uma imagem de contêiner personalizada.

O exemplo a seguir mostra uma propriedade runner 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, utilize o formato runner no arquivo environment.yaml:

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

Edite o runner valor para fazer referência ao repositório e à imagem personalizada, conforme mostrado neste exemplo:

    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
SEU_REGISTRO 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 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 obter mais informações, 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 painel de parâmetros no portal do desenvolvedor.

Os desenvolvedores também podem fornecer valores para parâmetros específicos para seus ambientes por meio da CLI do Azure:

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 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 em Ambientes de Implantação, 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 os 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, no repositório, exclua a subpasta que contém o arquivo de modelo e o arquivo environment.yaml associado. Em seguida, atualize o catálogo.

Depois de excluir uma definição de ambiente, as equipes de desenvolvimento não poderão mais usá-la 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á.