Dela via


Avancerade pipelinefunktioner och konfigurationer

Du kan utöka azd pipeline config kommandot för att stödja avancerade scenarier och anpassade krav enligt beskrivningen i följande avsnitt.

Anpassade hemligheter och variabler

Som standardinställning anger azd viktiga variabler och konfidentiella data för din pipeline. När du till exempel kör azd pipeline configskapar den variabler som subscription id, environment nameoch region. Dessa variabler refereras till i pipelinedefinitionen:

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

När pipelinen körs, hämtas dessa värden från miljön och mappar dem till pipelinevariabler och hemligheter. Beroende på mallen kanske du vill styra ytterligare inställningar med hjälp av miljövariabler. Du kan till exempel ange en KEY_VAULT_NAME miljövariabel för att definiera namnet på en Key Vault-resurs i infrastrukturen.

Om du vill ha stöd för anpassade variabler och hemligheter definierar du dem i mallfilen azure.yaml . Till exempel:

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

Med den här konfigurationen azd kontrollerar du om någon av de listade variablerna eller hemligheterna har ett värde i miljön. Den skapar sedan motsvarande variabel eller hemlighet i pipelinen med hjälp av miljövärdet.

Du kan referera till dessa variabler och hemligheter i pipelinedefinitionen 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 }}

Anmärkning

När du har uppdaterat listan över hemligheter eller variabler i azure.yaml kör du igen azd pipeline config för att uppdatera pipeline-värdena.

Infrastrukturparametrar

Tänk dig följande Bicep-exempel:

@secure()
param BlobStorageConnection string

Om parametern BlobStorageConnection inte har något standardvärde azd uppmanas du att ange ett värde under installationen. Det finns dock ingen interaktiv uppmaning under CI/CD-körningar. azd Begär i stället värdet när du kör azd pipeline config, sparar det som en pipelinehemlighet och hämtar det automatiskt när pipelinen körs.

azd använder en pipelinehemlighet som heter AZD_INITIAL_ENVIRONMENT_CONFIG för att lagra och ange obligatoriska parametervärden. Referera till den här hemligheten i pipelinedefinitionen:

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

När pipelinen körs, använder azd hemligheten för att ange parametervärden, vilket eliminerar behovet av interaktiva uppmaningar.

Anmärkning

Om du lägger till en ny parameter, kör du azd pipeline config igen för att uppdatera pipelinekonfigurationen.