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, 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 arquivo 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 fornece 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 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 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
      

      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. Este campo é opcional.
      summary Uma breve descrição da definição de ambiente.
      description Uma descrição pormenorizada 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 do ambiente, selecione Catálogos. Selecione o repositório e, em seguida, 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 ficam 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, portanto, você pode configurar uma definição de ambiente que implante 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, os Ambientes de Implantação usam 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. Os Ambientes de Implantação suportam imagens de contêiner personalizadas para implantações de ambiente, o que pode ajudar a implantar estruturas de IaC, como Pulumi e Terraform.

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

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.

Especifique a imagem do recipiente de amostra 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 Microsoft Artifact Registry, use os runner valores listados na tabela a seguir.

Estrutura do IAC runner valor
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 runner propriedade 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 container personalizada armazenada em um repositório, use o seguinte runner formato no arquivo environment.yaml:

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

Edite o valor runner para fazer referência ao seu 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 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 através 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 az devcenter dev environment create comando, consulte Extensão do centro de desenvolvimento 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 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, 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 podem mais usá-la 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á.