Azure Pipelines를 사용하여 App Configuration에서 설정 끌어오기

Azure 앱 구성 태스크는 App Configuration 저장소에서 키-값을 가져와서 후속 작업에서 사용할 수 있는 Azure 파이프라인 변수로 설정합니다. 이 작업은 구성 파일의 키 값을 App Configuration 저장소로 푸시하는 Azure 앱 구성 푸시 태스크를 보완합니다. 자세한 내용은 Azure Pipelines를 사용하여 App Configuration에 설정 푸시를 참조 하세요.

필수 조건

서비스 연결 만들기

서비스 연결을 사용하면 Azure DevOps 프로젝트에서 Azure 구독의 리소스에 액세스할 수 있습니다.

  1. Azure DevOps에서 대상 파이프라인이 포함된 프로젝트로 이동합니다. 왼쪽 아래 모서리에서 프로젝트 설정을 선택합니다.

  2. 파이프라인 아래에서 서비스 연결을 선택합니다. 오른쪽 상단에서 새 서비스 연결을 선택합니다.

  3. 새 서비스 연결에서 Azure Resource Manager를 선택합니다.

    Screenshot shows selecting Azure Resource Manager from the New service connection dropdown list.

  4. 인증 방법 대화 상자에서 서비스 주체(자동)를 선택하여 새 서비스 주체를 만들거나 서비스 주체(수동)를 선택하여 기존 서비스 주체를 사용합니다.

  5. 구독, 리소스 그룹 및 서비스 연결의 이름을 입력합니다.

새 서비스 주체를 만든 경우 서비스 연결에 할당된 서비스 주체의 이름을 찾습니다. 다음 단계에서 이 서비스 주체에 새 역할 할당을 추가합니다.

  1. 프로젝트 설정>서비스 연결로 이동합니다.

  2. 새 서비스 연결을 선택합니다.

  3. 서비스 주체 관리를 선택합니다.

  4. 표시 이름의 값을 확인합니다.

    Screenshot shows the service principal display name.

역할 할당 추가

작업이 App Configuration 저장소에 액세스할 수 있도록 작업 내에서 사용 중인 자격 증명에 적절한 App Configuration 역할 할당을 할당합니다.

  1. 대상 App Configuration 저장소로 이동합니다.

  2. 왼쪽 메뉴에서 액세스 제어(IAM)를 선택합니다.

  3. 오른쪽 창에서 역할 할당 추가를 선택합니다.

    Screenshot shows the Add role assignments button.

  4. 역할의 경우 앱 구성 데이터 읽기 프로그램을 선택합니다. 이 역할을 사용하면 App Configuration 저장소에서 작업을 읽을 수 있습니다.

  5. 이전 섹션에서 만든 서비스 연결과 연결된 서비스 주체를 선택합니다.

    Screenshot shows the Add role assignment dialog.

  6. 검토 + 할당을 선택합니다.

  7. 저장소에 Key Vault 참조가 포함된 경우 관련 Key Vault로 이동하여 이전 단계에서 만든 서비스 주체에 Key Vault 비밀 사용자 역할을 할당합니다. Key Vault 메뉴에서 액세스 정책을 선택하고 Azure 역할 기반 액세스 제어가 권한 모델로 선택되었는지 확인합니다.

빌드에서 사용

이 섹션에서는 Azure DevOps 빌드 파이프라인에서 Azure 앱 구성 작업을 사용하는 방법을 설명합니다.

  1. 파이프라인>파이프라인을 클릭하여 빌드 파이프라인 페이지로 이동합니다. 빌드 파이프라인 설명서는 첫 번째 파이프라인 만들기를 참조하세요.
    • 새 빌드 파이프라인을 만드는 경우 프로세스의 마지막 단계에서 검토 탭에서 파이프라인의 오른쪽에 도우미 표시를 선택합니다. Screenshot shows the Show assistant button for a new pipeline.
    • 기존 빌드 파이프라인을 사용하는 경우 오른쪽 위에 있는 편집 단추를 클릭합니다. Screenshot shows the Edit button for an existing pipeline.
  2. Azure 앱 구성 태스크를 검색합니다. Screenshot shows the Add Task dialog with Azure App Configuration in the search box.
  3. App Configuration 저장소에서 키-값을 끌어오도록 태스크에 필요한 매개 변수를 구성합니다. 매개변수에 대한 설명은 아래 매개변수 섹션과 각 매개변수 옆에 있는 도구 설명에 있습니다.
    • Azure 구독 매개 변수를 이전 단계에서 만든 서비스 연결의 이름으로 설정합니다.
    • App Configuration 엔드포인트App Configuration 저장소의 엔드포인트로 설정합니다.
    • 나머지 매개변수는 기본값을 그대로 둡니다. Screenshot shows the app configuration task parameters.
  4. 빌드를 저장하고 큐에 대기합니다. 빌드 로그는 태스크를 실행하는 동안 발생한 모든 오류를 표시합니다.

릴리스에 사용

이 섹션에서는 Azure DevOps 릴리스 파이프라인에서 Azure 앱 구성 작업을 사용하는 방법을 설명합니다.

  1. 파이프라인 릴리스를 선택하여 릴리스 파이프라인> 페이지로 이동합니다. 릴리스 파이프라인 설명서는 릴리스 파이프라인을 참조하세요.
  2. 기존 릴리스 파이프라인을 선택합니다. 아직 없으면 새 파이프라인을 클릭하여 새 항목을 만듭니다.
  3. 오른쪽 위 모서리에서 편집 단추를 선택하여 릴리스 파이프라인을 편집합니다.
  4. 작업 드롭다운에서 작업을 추가할 스테이지를 선택합니다. 스테이지에 대한 자세한 내용은 여기에서 확인할 수 있습니다. Screenshot shows the selected stage in the Tasks dropdown.
  5. 새 작업을 추가할 작업 옆을 클릭합니다 + . Screenshot shows the plus button next to the job.
  6. Azure 앱 구성 태스크를 검색합니다. Screenshot shows the Add Task dialog with Azure App Configuration in the search box.
  7. App Configuration 저장소에서 키-값을 끌어오도록 태스크 내에서 필요한 매개 변수를 구성합니다. 매개변수에 대한 설명은 아래 매개변수 섹션과 각 매개변수 옆에 있는 도구 설명에 있습니다.
    • Azure 구독 매개 변수를 이전 단계에서 만든 서비스 연결의 이름으로 설정합니다.
    • App Configuration 엔드포인트App Configuration 저장소의 엔드포인트로 설정합니다.
    • 나머지 매개변수는 기본값을 그대로 둡니다.
  8. 릴리스를 저장하고 큐에 넣습니다. 릴리스 로그는 작업을 실행하는 동안 발생한 모든 오류를 표시합니다.

매개 변수

다음 매개 변수는 Azure 앱 구성 태스크에서 사용됩니다.

  • Azure 구독: 사용 가능한 Azure 서비스 연결을 포함하는 드롭다운입니다. 사용 가능한 Azure 서비스 연결 목록을 업데이트하고 새로 고치려면 텍스트 상자 오른쪽에 있는 Azure 구독 새로 고침 단추를 누릅니다.
  • 앱 구성 엔드포인트: 선택한 구독 아래에 사용 가능한 구성 저장소 엔드포인트를 로드하는 드롭다운입니다. 사용 가능한 구성 저장소 엔드포인트 목록을 업데이트하고 새로 고치려면 텍스트 상자 오른쪽에 있는 앱 구성 엔드포인트 새로 고침 단추를 누릅니다.
  • 선택 모드: 구성 저장소에서 읽은 키-값을 선택하는 방법을 지정합니다. '기본' 선택 모드를 사용하면 키 및 레이블 필터를 사용할 수 있습니다. '스냅샷' 선택 모드를 사용하면 스냅샷 키-값을 선택할 수 있습니다. 기본값은 Default입니다.
  • 키 필터: 필터를 사용하여 Azure App Configuration에서 요청된 키-값을 선택할 수 있습니다. 값이 *이면 모든 키-값을 선택합니다. 자세한 내용은 키-값 쿼리를 참조 하세요.
  • 레이블: App Configuration 저장소에서 키 값을 선택할 때 사용해야 하는 레이블을 지정합니다. 레이블이 제공되지 않으면 레이블이 없는 키 값이 검색됩니다. 다음 문자는 허용되지 않습니다.
  • 스냅샷 이름: Azure 앱 구성에서 키-값을 검색할 스냅샷 지정합니다.
  • 키 접두사 자르기: 변수로 설정하기 전에 App Configuration 키에서 트리밍해야 하는 하나 이상의 접두사를 지정합니다. 여러 접두사를 새 줄 문자로 구분할 수 있습니다.
  • 재정의된 키에 대한 경고 표시 안 함: 기본값은 un검사ed입니다. 기존 키를 재정의할 때 경고를 표시할지 여부를 지정합니다. App Configuration에서 다운로드한 키 값에 파이프라인 변수에 있는 키와 겹치는 키가 있는 경우 이 옵션을 사용하도록 설정합니다.

후속 작업에서 키-값 사용

App Configuration에서 가져온 키 값은 환경 변수로 액세스할 수 있는 파이프라인 변수로 설정됩니다. 환경 변수의 키는 지정된 경우 접두사를 트리밍한 후 App Configuration에서 검색되는 키-값의 키입니다.

예를 들어 후속 작업이 PowerShell 스크립트를 실행하는 경우 다음과 같이 'myBuildSetting' 키가 있는 키-값을 사용할 수 있습니다.

echo "$env:myBuildSetting"

그리고 값이 콘솔에 출력됩니다.

참고 항목

App Configuration 내의 Azure Key Vault 참조가 확인되고 비밀 변수로 설정됩니다. Azure 파이프라인에서 비밀 변수는 로그에서 마스킹됩니다. 이러한 변수는 작업으로 환경 변수로 전달되지 않으며 대신 입력으로 전달되어야 합니다.

문제 해결

예기치 않은 오류가 발생하면 파이프라인 변수 system.debugtrue를 .로 설정하여 디버그 로그를 사용하도록 설정할 수 있습니다.

FAQ

여러 키와 레이블에서 구성을 작성할 어떻게 할까요? 있나요?

구성을 여러 레이블(예: 기본 및 개발)에서 구성해야 하는 경우가 있습니다. 이 시나리오를 구현하기 위해 하나의 파이프라인에서 여러 App Configuration 작업을 사용할 수 있습니다. 이후 단계에서 태스크에서 가져온 키 값은 이전 단계의 값을 대체합니다. 앞에 설명한 예제에서는 하나의 작업으로 default 레이블의 키-값을 선택할 수 있지만 두 번째 작업에서는 dev 레이블의 키-값을 선택할 수 있습니다. dev 레이블의 키는 default 레이블의 동일한 키를 재정의합니다.