Delen via


Geavanceerde pijplijnfuncties en -configuraties

U kunt de azd pipeline config opdracht uitbreiden ter ondersteuning van geavanceerde scenario's en aangepaste vereisten, zoals beschreven in de volgende secties.

Aangepaste geheimen en variabelen

azd Standaard stelt u essentiƫle variabelen en geheimen in voor uw pijplijn. Wanneer u bijvoorbeeld uitvoert azd pipeline config, worden er variabelen gemaakt, zoals subscription id, environment nameen region. Naar deze variabelen wordt verwezen in uw pijplijndefinitie:

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

Wanneer de pijplijn wordt uitgevoerd, haalt azd deze waarden uit de omgeving op en wijst deze toe aan de pijplijnvariabelen en -geheimen. Afhankelijk van uw sjabloon wilt u mogelijk aanvullende instellingen beheren met behulp van omgevingsvariabelen. U kunt bijvoorbeeld een KEY_VAULT_NAME omgevingsvariabele instellen om de naam van een Key Vault-resource in uw infrastructuur te definiƫren.

Als u aangepaste variabelen en geheimen wilt ondersteunen, definieert u deze in het bestand van azure.yaml uw sjabloon. Voorbeeld:

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

Met deze configuratie azd controleert u of een van de vermelde variabelen of geheimen een waarde in de omgeving heeft. Vervolgens wordt de bijbehorende variabele of de bijbehorende geheime waarde in de pijplijn aangemaakt met behulp van de omgevingswaarde.

U kunt verwijzen naar deze variabelen en geheimen in uw azure-dev.yaml pijplijndefinitie:

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

Opmerking

Nadat u de lijst met geheimen of variabelen in azure.yamlhebt bijgewerkt, voert u deze opnieuw uit azd pipeline config om de pijplijnwaarden bij te werken.

Infrastructuurparameters

Bekijk dit Bicep-voorbeeld:

@secure()
param BlobStorageConnection string

Als de BlobStorageConnection parameter geen standaardwaarde heeft, wordt u door azd tijdens de installatie gevraagd om een waarde. Er is echter geen interactieve prompt tijdens CI/CD-uitvoeringen. In plaats daarvan vraagt azd om de waarde wanneer azd pipeline config wordt uitgevoerd, slaat het deze op als een pijplijngeheim en haalt het deze automatisch op wanneer de pijplijn draait.

azd gebruikt een pijplijngeheim genaamd AZD_INITIAL_ENVIRONMENT_CONFIG om vereiste parameterwaarden op te slaan en te verstrekken. Verwijs naar dit geheim in uw pijplijndefinitie:

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

Wanneer de pijplijn wordt uitgevoerd, maakt azd gebruik van het geheim om parameterwaarden op te geven, waardoor interactieve prompts niet meer nodig zijn.

Opmerking

Als u een nieuwe parameter toevoegt, voert u deze opnieuw uit azd pipeline config om de pijplijnconfiguratie bij te werken.