Azure Pipelines를 사용하여 App Configuration으로 설정 가져오기
Azure 앱 구성 가져오기 작업은 구성 파일에서 App Configuration 저장소로 키-값을 가져옵니다. 이제 App Configuration 저장소에서 설정을 내보내고 설정을 App Configuration 저장소로 가져올 수 있으므로 이 작업을 통해 파이프라인 내에서 전체 원 기능을 사용할 수 있습니다.
필수 조건
- Azure 구독 - 체험 구독 만들기
- App Configuration 저장소 - 무료로 만들기
- Azure DevOps 프로젝트 - 무료로 한 개 만들기
- 자체 호스팅 에이전트에서 작업을 실행하기 위한 Azure Pipelines 에이전트 버전 2.144.0 이상 및 노드 버전 16 이상.
서비스 연결 만들기
서비스 연결을 통해 Azure DevOps 프로젝트에서 Azure 구독의 리소스에 액세스할 수 있습니다.
Azure DevOps에서 대상 파이프라인이 포함된 프로젝트로 이동합니다. 왼쪽 하단에서 프로젝트 설정을 선택합니다.
파이프라인 아래에서 서비스 연결을 선택합니다. 오른쪽 상단에서 새 서비스 연결을 선택합니다.
새 서비스 연결에서 Azure Resource Manager를 선택합니다.
인증 방법 대화 상자에서 워크로드 ID 페더레이션(자동)을 선택하여 새 워크로드 ID 페더레이션을 만들거나 워크로드 ID 페더레이션(수동)을 선택하여 기존 워크로드 ID 페더레이션을 사용합니다.
구독, 리소스 그룹 및 서비스 연결 이름을 입력합니다.
새 서비스 주체를 만든 경우 서비스 연결에 할당된 서비스 주체의 이름을 찾습니다. 다음 단계에서 이 서비스 주체에 새 역할 할당을 추가합니다.
프로젝트 설정>서비스 연결로 이동합니다.
새 서비스 연결을 선택합니다.
서비스 주체 관리를 선택합니다.
표시 이름의 값을 확인합니다.
역할 할당 추가
작업이 App Configuration 저장소에 액세스할 수 있도록 작업 내에서 사용 중인 자격 증명에 적절한 App Configuration 역할 할당을 할당합니다.
대상 App Configuration 저장소로 이동합니다.
왼쪽 메뉴에서 액세스 제어(IAM)를 선택합니다.
오른쪽 창에서 역할 할당 추가를 선택합니다.
역할에 대해 App Configuration 데이터 소유자를 선택합니다. 이 역할을 통해 App Configuration 저장소에서 읽고 쓰는 작업을 수행할 수 있습니다.
이전 섹션에서 만든 서비스 연결과 연관된 서비스 주체를 선택합니다.
검토 + 할당을 선택합니다.
빌드에 사용
이 섹션에서는 Azure DevOps 빌드 파이프라인에서 Azure 앱 구성 가져오기 작업을 사용하는 방법을 설명합니다.
- 파이프라인>파이프라인을 클릭하여 빌드 파이프라인 페이지로 이동합니다. 빌드 파이프라인에 대한 자세한 내용은 첫 번째 파이프라인 만들기로 이동합니다.
- 새 빌드 파이프라인을 만드는 경우 프로세스 마지막 단계의 검토 탭에 있는 파이프라인 오른쪽에서 도우미 표시를 선택합니다.
- 기존 빌드 파이프라인을 사용하는 경우 오른쪽 위에서 편집 단추를 클릭합니다.
- 새 빌드 파이프라인을 만드는 경우 프로세스 마지막 단계의 검토 탭에 있는 파이프라인 오른쪽에서 도우미 표시를 선택합니다.
- Azure 앱 구성 가져오기 작업을 검색합니다.
- 구성 파일에서 App Configuration 저장소로 키-값을 가져오도록 태스크에 필요한 매개 변수를 구성합니다. 매개 변수에 대한 설명은 매개 변수 섹션 및 각 매개 변수 옆의 도구 설명에서 사용할 수 있습니다.
- 빌드를 저장하고 큐에 넣습니다. 빌드 로그는 태스크를 실행하는 동안 발생한 모든 오류를 표시합니다.
릴리스에 사용
이 섹션에서는 Azure DevOps 릴리스 파이프라인에서 Azure 앱 구성 가져오기 작업을 사용하는 방법을 설명합니다.
- Pipelines>릴리스를 선택하여 릴리스 파이프라인 페이지로 이동합니다. 릴리스 파이프라인에 대한 자세한 내용은 첫 번째 릴리스 파이프라인 만들기로 이동하세요.
- 기존 릴리스 파이프라인을 선택합니다. 기존 릴리스 파이프라인이 없는 경우 + 새로 만들기를 선택하여 새 항목을 만듭니다.
- 오른쪽 위 모서리에서 편집 단추를 선택하여 릴리스 파이프라인을 편집합니다.
- 작업 드롭다운에서 작업을 추가할 스테이지를 선택합니다. 스테이지에 대한 자세한 내용은 단계 추가, 종속성 및 조건에서 찾을 수 있습니다.
- 새 작업을 추가할 작업 옆의 +를 클릭합니다.
- 작업 추가 대화 상자에서 Azure 앱 구성 가져오기를 검색 상자에 입력하고 선택합니다.
- 구성 파일에서 App Configuration 저장소로 키 값을 가져오도록 태스크 내에서 필요한 매개 변수를 구성합니다. 매개 변수에 대한 설명은 매개 변수 섹션 및 각 매개 변수 옆의 도구 설명에서 사용할 수 있습니다.
- 릴리스를 저장하고 큐에 넣습니다. 릴리스 로그는 태스크를 실행하는 동안 발생한 모든 오류를 표시합니다.
매개 변수
다음 매개 변수는 App Configuration 가져오기 태스크에서 사용됩니다.
- Azure 구독: 사용 가능한 Azure 서비스 연결이 포함된 드롭다운입니다. 사용 가능한 Azure 서비스 연결 목록을 업데이트하고 새로 고치려면 텍스트 상자 오른쪽에서 Azure 구독 새로 고침 단추를 누릅니다.
- App Configuration 엔드포인트: 선택한 구독 아래에서 사용 가능한 구성 저장소 엔드포인트를 로드하는 드롭다운입니다. 사용 가능한 구성 저장소 엔드포인트 목록을 업데이트하고 새로 고치려면 텍스트 상자 오른쪽에서 App Configuration 엔드포인트 새로 고침 단추를 누릅니다.
- 구성 파일 경로: 구성 파일에 대한 경로입니다. 구성 파일 경로 매개 변수는 파일 리포지토리의 루트에서 시작합니다. 구성 파일을 선택하려면 빌드 아티팩트를 통해 찾아볼 수 있습니다. 텍스트 상자 오른쪽에 있는
...
단추를 눌러 찾을 수 있습니다. 지원되는 파일 형식은 파일 콘텐츠 프로필에 따라 달라집니다. 기본 프로필의 경우 지원되는 파일 형식은 yaml, json 및 속성입니다. KvSet 프로필의 경우 지원되는 파일 형식은 json입니다. - 파일 콘텐츠 프로필: 구성 파일의 콘텐츠 프로필입니다. 기본값은 기본값입니다.
- 기본값: 애플리케이션에서 직접 사용할 수 있는 기존 구성 파일 형식을 나타냅니다.
- Kvset: 키, 값, 레이블, 콘텐츠 형식 및 태그를 포함하여 App Configuration 키 값의 모든 속성을 포함하는 파일 스키마를 참조합니다. Kvset 프로필을 사용하는 경우 작업 매개 변수 'Separator', 'Label', 'Content type', 'Prefix', 'Tags' 및 'Depth'는 적용되지 않습니다.
- 가져오기 모드: 기본값은 모두입니다. 키-값을 가져올 때 동작을 결정합니다.
- 모두: 구성 파일의 모든 키-값을 App Configuration으로 가져옵니다.
- Ignore-Match: App Configuration에 일치하는 키-값이 없는 설정만 가져옵니다. 일치하는 키-값은 키, 레이블, 값, 콘텐츠 형식 및 태그가 동일한 키-값으로 간주됩니다.
- 드라이 런: 기본값은 선택 취소됨입니다.
- 선택됨: App Configuration에 대한 업데이트가 수행되지 않습니다. 대신 일반 실행에서 수행된 모든 업데이트는 검토를 위해 콘솔에 인쇄됩니다.
- 선택 취소: App Configuration에 대한 업데이트를 수행하고 콘솔에 인쇄되지 않습니다.
- 구분 기호: .json 및 .yml 파일을 평면화하는 데 사용되는 구분 기호입니다.
- 깊이: .json 및 .yml 파일이 평면화되는 깊이입니다.
- 접두사: App Configuration 저장소로 가져온 각 키의 시작 부분에 추가된 문자열입니다.
- 레이블: App Configuration 저장소 내의 레이블로 각 키-값에 추가된 문자열입니다.
- 콘텐츠 형식: App Configuration 저장소 내의 콘텐츠 형식으로 각 키-값에 추가된 문자열입니다.
- 태그: 형식의
{"tag1":"val1", "tag2":"val2"}
JSON 개체로, App Configuration 저장소로 가져온 각 키-값에 추가되는 태그를 정의합니다. - 구성 파일에 포함되지 않은 키-값 삭제: 기본값은 선택 취소입니다. 이 옵션의 동작은 구성 파일 콘텐츠 프로필에 따라 달라집니다.
- 선택됨:
- 기본 콘텐츠 프로필: 구성 파일에서 새 키 값을 가져오기 전에 지정된 접두사 및 레이블과 일치하는 App Configuration 저장소의 모든 키 값을 제거합니다.
- Kvset 콘텐츠 프로필: 구성 파일에서 새 키 값을 가져오기 전에 구성 파일에 포함되지 않은 App Configuration 저장소의 모든 키-값을 제거합니다.
- 선택 취소됨: 구성 파일의 모든 키-값을 App Configuration 저장소로 가져오고 App Configuration 저장소의 다른 모든 항목은 그대로 둡니다.
- 선택됨:
문제 해결
예기치 않은 오류가 발생하면 파이프라인 변수 system.debug
를 true
로 설정하여 디버그 로그를 사용하도록 설정할 수 있습니다.
FAQ
여러 구성 파일을 업로드하려면 어떻게 하나요?
여러 구성 파일을 App Configuration 저장소로 가져오려면 동일한 파이프라인 내에서 Azure 앱 구성 가져오기 작업의 여러 인스턴스를 만듭니다.
이 작업을 사용하여 Key Vault 참조 또는 기능 플래그를 만들려면 어떻게 해야 하나요?
선택한 파일 콘텐츠 프로필에 따라 구성 파일에 대한 Azure 앱 구성 지원의 예제를 참조하세요.
내 구성 저장소에 키 값을 가져오려고 할 때 409 오류가 발생하는 이유는 무엇인가요?
작업이 App Configuration 저장소에 잠긴 키-값을 제거하거나 덮어쓰려고 하면 409 충돌 오류 메시지가 발생합니다.
다음 단계
매개 변수에 대한 전체 참조 또는 YAML 파이프라인에서 이 파이프라인 작업을 사용하려면 다음 문서를 참조하세요.
App Configuration 저장소에서 키-값을 내보내고 Azure 파이프라인 변수로 설정하는 방법을 알아보려면 다음 문서를 계속 진행합니다.
App Configuration 저장소에서 스냅샷을 만드는 방법을 알아보려면 다음 문서를 계속 진행합니다.