Compartilhar via


Recursos avançados de pipeline e suas configurações

Você pode estender o azd pipeline config comando para dar suporte a cenários avançados e requisitos personalizados, conforme descrito nas seções a seguir.

Segredos e variáveis personalizados

Por padrão, azd define variáveis e segredos essenciais para o pipeline. Por exemplo, quando você executa azd pipeline config, ele cria variáveis como subscription id, environment namee region. Essas variáveis são referenciadas em sua definição de pipeline:

env:
   AZURE_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }}
   AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }}
   AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
   AZURE_ENV_NAME: ${{ vars.AZURE_ENV_NAME }}
   AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}

Quando o pipeline é executado, azd recupera esses valores do ambiente e os mapeia para as variáveis e segredos do pipeline. Dependendo do modelo, talvez você queira controlar configurações adicionais usando variáveis de ambiente. Por exemplo, você pode definir uma KEY_VAULT_NAME variável de ambiente para definir o nome de um recurso do Key Vault em sua infraestrutura.

Para dar suporte a variáveis e segredos personalizados, defina-os no arquivo do azure.yaml modelo. Por exemplo:

pipeline:
  variables:
    - KEY_VAULT_NAME
    - STORAGE_NAME
  secrets:
    - CONNECTION_STRING

Com essa configuração, azd verifica se alguma das variáveis ou segredos listados tem um valor no ambiente. Em seguida, ele cria a variável ou o segredo correspondente no pipeline, usando o valor do ambiente.

Você pode referenciar essas variáveis e segredos em sua definição de pipeline azure-dev.yaml.

- name: Provision Infrastructure
   run: azd provision --no-prompt
   env:
      KEY_VAULT_NAME: ${{ variables.KEY_VAULT_NAME }}
      STORAGE_NAME: ${{ variables.STORAGE_NAME }}
      CONNECTION_STRING: ${{ secrets.CONNECTION_STRING }}

Observação

Depois de atualizar a lista de segredos ou variáveis em azure.yaml, execute novamente azd pipeline config para atualizar os valores do pipeline.

Parâmetros de infraestrutura

Considere o seguinte exemplo de Bicep:

@secure()
param BlobStorageConnection string

Se o BlobStorageConnection parâmetro não tiver valor padrão, azd solicitará um valor durante a instalação. No entanto, não há nenhum prompt interativo durante as execuções de CI/CD. Em vez disso, azd solicita o valor quando você executa azd pipeline config, salva-o como um segredo de pipeline e o recupera automaticamente quando o pipeline é executado.

azd usa um segredo de pipeline chamado AZD_INITIAL_ENVIRONMENT_CONFIG para armazenar e fornecer valores de parâmetro necessários. Faça referência a esse segredo em sua definição de pipeline:

- name: Provision Infrastructure
   run: azd provision --no-prompt
   env:
      AZD_INITIAL_ENVIRONMENT_CONFIG: ${{ secrets.AZD_INITIAL_ENVIRONMENT_CONFIG }}

Quando o pipeline é executado, azd usa o segredo para fornecer valores de parâmetro, eliminando a necessidade de prompts interativos.

Observação

Se você adicionar um novo parâmetro, execute azd pipeline config novamente para atualizar a configuração do pipeline.