다음을 통해 공유


고급 파이프라인 기능 및 구성

다음 섹션에 설명된 azd pipeline config 대로 고급 시나리오 및 사용자 지정 요구 사항을 지원하도록 명령을 확장할 수 있습니다.

사용자 지정 비밀 및 변수

기본적으로 azd은(는) 파이프라인에 필수 변수와 시크릿을 설정합니다. 예를 들어 azd pipeline config을 실행하면 subscription id, environment name, region와 같은 변수를 만듭니다. 이러한 변수는 파이프라인 정의에서 참조됩니다.

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

파이프라인이 실행 azd 되면 환경에서 이러한 값을 검색하고 파이프라인 변수 및 비밀에 매핑합니다. 템플릿에 따라 환경 변수를 사용하여 추가 설정을 제어할 수 있습니다. 예를 들어 인프라에서 KEY_VAULT_NAME Key Vault 리소스의 이름을 정의하도록 환경 변수를 설정할 수 있습니다.

사용자 지정 변수 및 비밀을 지원하려면 템플릿의 azure.yaml 파일에 정의합니다. 다음은 그 예입니다.

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

이 구성을 azd 사용하여 나열된 변수 또는 비밀 중 환경에 값이 있는지 확인합니다. 그런 다음, 환경 값을 사용하여 파이프라인에 해당 변수 또는 비밀을 만듭니다.

파이프라인 정의에서 다음 변수 및 비밀을 참조할 수 있습니다 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 }}

비고

비밀 또는 변수 azure.yaml목록을 업데이트한 후 다시 실행 azd pipeline config 하여 파이프라인 값을 업데이트합니다.

인프라 매개 변수

다음 Bicep 예제를 참고하십시오.

@secure()
param BlobStorageConnection string

매개 변수에 BlobStorageConnection 기본값 azd 이 없으면 설치하는 동안 값을 묻는 메시지가 표시됩니다. 그러나 CI/CD를 실행하는 동안에는 대화형 프롬프트가 없습니다. 대신 azdazd pipeline config를 실행할 때 값을 요청하고, 이를 파이프라인 비밀로 저장하며, 파이프라인이 실행될 때 자동으로 검색합니다.

azd는 필요한 매개변수 값을 저장하고 제공하기 위해 AZD_INITIAL_ENVIRONMENT_CONFIG 파이프라인 비밀을 사용합니다. 파이프라인 정의에서 이 비밀을 참조합니다.

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

파이프라인이 실행 azd 되면 비밀을 사용하여 매개 변수 값을 제공하여 대화형 프롬프트가 필요하지 않습니다.

비고

새 매개 변수를 추가하는 경우 다시 실행 azd pipeline config 하여 파이프라인 구성을 업데이트합니다.