Partilhar via


Funcionalidades e configurações avançadas de pipeline

Você pode estender o azd pipeline config comando para oferecer 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 seu pipeline. Por exemplo, quando você executa azd pipeline configo , ele cria variáveis como subscription id, environment namee region. Essas variáveis são referenciadas na definição do 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 seu modelo, você pode querer 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 Cofre da Chave 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 segredo correspondente no pipeline, usando o valor do ambiente.

Você pode fazer referência a essas variáveis e segredos em sua azure-dev.yaml definição de pipeline:

- 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 no azure.yaml, execute azd pipeline config novamente para atualizar os valores do pipeline.

Parâmetros da infraestrutura

Considere o seguinte exemplo de Bíceps:

@secure()
param BlobStorageConnection string

Se o parâmetro BlobStorageConnection não tiver um valor padrão, azd solicitará um valor durante o processo de configuraçã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 recupera-o automaticamente quando o pipeline é executado.

azd usa um segredo de pipeline chamado AZD_INITIAL_ENVIRONMENT_CONFIG para armazenar e fornecer os valores de parâmetro necessários. Faça referência a esse segredo na definição do seu 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.