Udostępnij za pomocą


Zaawansowane funkcje i konfiguracje potoku

Możesz rozszerzyć polecenie, azd pipeline config aby obsługiwać zaawansowane scenariusze i wymagania niestandardowe, zgodnie z opisem w poniższych sekcjach.

Niestandardowe sekrety i zmienne

Domyślnie azd ustawia podstawowe zmienne i sekrety dla potoku. Na przykład po uruchomieniu azd pipeline config polecenia program tworzy zmienne, takie jak subscription id, environment name, i region. Do tych zmiennych odwołuje się definicja 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 }}

Po uruchomieniu potoku, azd pobiera te wartości ze środowiska i mapuje je na zmienne potoku oraz sekrety. W zależności od szablonu możesz chcieć kontrolować dodatkowe ustawienia przy użyciu zmiennych środowiskowych. Można na przykład ustawić zmienną środowiskową KEY_VAULT_NAME , aby zdefiniować nazwę zasobu usługi Key Vault w infrastrukturze.

Aby obsługiwać zmienne niestandardowe i wpisy tajne, zdefiniuj je w pliku szablonu azure.yaml . Przykład:

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

W tej konfiguracji azd sprawdza, czy którakolwiek z wymienionych zmiennych lub tajemnic ma wartość w środowisku. Następnie tworzy odpowiednią zmienną lub wpis tajny w potoku przy użyciu wartości środowiska.

Możesz odwoływać się do tych zmiennych i sekretów w definicji potoku 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 }}

Uwaga / Notatka

Po zaktualizowaniu listy sekretów lub zmiennych w azure.yaml, uruchom ponownie azd pipeline config, aby zaktualizować wartości w potoku.

Parametry infrastruktury

Rozważmy następujący przykład użycia Bicep:

@secure()
param BlobStorageConnection string

BlobStorageConnection Jeśli parametr nie ma wartości domyślnej, azd monituje o podanie wartości podczas instalacji. Nie ma jednak interaktywnego komunikatu podczas procesu ciągłej integracji/ciągłego wdrażania. azd Zamiast tego żąda wartości po uruchomieniu azd pipeline config, zapisuje ją jako wpis tajny potoku i pobiera ją automatycznie po uruchomieniu potoku.

azd używa sekretu pipeline'u o nazwie AZD_INITIAL_ENVIRONMENT_CONFIG do przechowywania i podawania wymaganych wartości parametrów. Użyj tego sekretu w definicji pipeline'u:

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

Gdy potok jest uruchamiany, azd używa wpisu tajnego do podawania wartości parametrów, eliminując potrzebę interakcyjnych monitów.

Uwaga / Notatka

W przypadku dodania nowego parametru ponownie uruchom azd pipeline config, aby zaktualizować konfigurację potoku.