Sdílet prostřednictvím


Pokročilé funkce a konfigurace kanálu

Příkaz můžete rozšířit azd pipeline config tak, aby podporoval pokročilé scénáře a vlastní požadavky, jak je popsáno v následujících částech.

Vlastní tajné kódy a proměnné

Standardně azd nastaví základní proměnné a tajná data pro váš datový kanál. Například při spuštění azd pipeline config vytvoří proměnné jako je subscription id, environment name a region. Na tyto proměnné se odkazuje v definici kanálu:

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 }}

Když se pipelina spustí, azd načte tyto hodnoty z prostředí a mapuje je na proměnné pipeliny a tajemství. V závislosti na šabloně můžete chtít řídit další nastavení pomocí proměnných prostředí. Můžete například nastavit proměnnou KEY_VAULT_NAME prostředí, která definuje název prostředku služby Key Vault ve vaší infrastruktuře.

Pokud chcete podporovat vlastní proměnné a tajné kódy, definujte je v souboru šablony azure.yaml . Například:

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

Při této konfiguraci azd zkontroluje, jestli některá z uvedených proměnných nebo tajných údajů má v prostředí hodnotu. Potom vytvoří odpovídající proměnnou nebo tajný klíč v kanálu s použitím hodnoty prostředí.

V definici kanálu můžete odkazovat na tyto proměnné a tajné kódy 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 }}

Poznámka:

Po aktualizaci seznamu tajemství nebo proměnných v azure.yaml spusťte znovu azd pipeline config, aby byly aktualizovány hodnoty systému.

Parametry infrastruktury

Zvažte následující příklad Bicep:

@secure()
param BlobStorageConnection string

Pokud parametr BlobStorageConnection nemá výchozí hodnotu, azd vyzve vás během instalace k zadání hodnoty. Během spuštění CI/CD ale není k dispozici žádná interaktivní výzva. azd Místo toho požádá o hodnotu při spuštění azd pipeline config, uloží ji jako tajný klíč kanálu a načte ji automaticky při spuštění kanálu.

azd používá tajný klíč kanálu volaný AZD_INITIAL_ENVIRONMENT_CONFIG k uložení a zadání požadovaných hodnot parametrů. Použijte tento tajný klíč ve vaší definici pipeline:

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

Když se kanál spustí, azd použije tajný klíč k zadání hodnot parametrů a eliminuje potřebu interaktivních výzev.

Poznámka:

Pokud přidáte nový parametr, spusťte azd pipeline config znovu aktualizaci konfigurace kanálu.