수동으로 ALM Accelerator 구성

함께 제공되는 관리 앱을 사용하거나 수동으로 ALM Accelerator for Power Platform의 구성 요소를 구성할 수 있습니다. 이 문서는 앱을 수동으로 구성하는 과정을 안내하며 7개 섹션으로 구성되어 있습니다.

전제 조건

ALM Accelerator for Power Platform을 설치하기 전에 다음 전제 조건을 충족했는지 확인하십시오.

  • ALM Accelerator는 Microsoft Dataverse 데이터베이스가 있는 Power Platform 환경에 설치해야 합니다. ALM Accelerator를 사용하여 솔루션을 배포하는 모든 환경에는 Dataverse 데이터베이스도 필요합니다.

    노트

    ALM Accelerator는 Dataverse for Teams와 호환되지 않습니다. ALM Accelerator 앱과 관련 파이프라인은 모두 모든 환경에서 정식 버전의 Dataverse를 사용하고 있다고 가정합니다.

    다른 CoE 스타터 키트 솔루션과 동일한 환경에 ALM Accelerator를 설치하는 것이 좋습니다. 조직에 가장 적합한 전략을 결정하는 방법에 대해 자세히 알아보십시오.

  • ALM Accelerator는 소스 제어와 배포용으로 Azure DevOps를 사용합니다. Azure DevOps 조직이 없는 경우 Azure DevOps 사이트에서 최대 5명의 사용자에 대해 무료로 등록하십시오.

  • 이 섹션의 단계를 완료하려면 Azure, Azure DevOps 및 Power Platform에서 다음 사용자 및 권한이 필요합니다.

    • Microsoft Entra 그룹을 만들고 보며, 앱 등록을 만들고, Microsoft Entra ID의 앱 등록에 관리자 동의를 부여할 수 있는 권한이 있는 Azure 라이선스 사용자
    • 파이프라인, 서비스 연결, 리포지토리 및 확장을 만들고 관리할 수 있는 사용 권한이 있는 Azure DevOps 라이선스 사용자
    • 애플리케이션 사용자를 만들고 관리 권한을 부여할 수 있는 권한이 있는 라이선스가 부여된 Power Platform 사용자
  • ALM Accelerator를 가져온 환경에서 다음 커넥터를 함께 사용할 수 있어야 합니다.

  • ALM Accelerator를 설치하는 환경에 크리에이터 키트를 설치합니다.

기본 설정

다음 단계는 ALM Accelerator의 기능에 대한 일반적인 단계이며 특정 프로젝트나 솔루션에 국한되지 않습니다.

Microsoft Entra 환경에 앱 등록 만들기

ALM Accelerator에 대한 앱 등록을 만들어 Azure DevOps 및 Power Apps 또는 Dataverse에서 작업을 수행하는 데 필요한 앱 및 연결된 파이프라인 권한을 부여합니다. 이 작업은 한 번만 수행하면 됩니다.

다음 단계는 Dataverse 및 Azure DevOps 모두에 대한 권한이 있는 단일 앱 등록을 만드는 방법을 보여줍니다. 그러나 책임을 나누기 위해 별도의 앱 등록을 생성할 수 있습니다. 앱 등록 전략을 결정하기 전에 별도의 앱 등록이 유지 관리와 보안에 미치는 영향을 고려해야 합니다.

앱 등록 만들기

  1. Azure Portal에 로그인합니다.

  2. Microsoft Entra ID>앱 등록을 선택합니다.

  3. + 신규 등록을 선택하고 등록의 이름(예: ALMAcceleratorServicePrincipal)을 지정합니다.

  4. 다른 모든 옵션은 기본값으로 두고 등록을 선택합니다.

앱 등록에 권한 추가

  1. 왼쪽 측면 패널에서 API 권한을 선택합니다.

  2. + 권한 추가를 선택합니다.

  3. Dynamics CRM을 선택한 다음 위임된 권한user_impersonation을 선택합니다.

  4. 앱 등록에 Dynamics CRM API user_impersonation 권한을 추가하려면 권한 추가를 선택합니다.

  5. + 권한 추가를 다시 선택합니다.

  6. 내 조직에서 사용하는 API 탭을 선택합니다. PowerApps-Advisor를 검색하여 선택한 다음 위임된 권한Analysis.All(관리자 동의 필요 없음)을 선택합니다.

    이 권한은 앱 검사기를 통해 정적 분석을 실행하는 데 필요합니다.

  7. 앱 등록에 PowerApps-Advisor API Analysis.All 권한을 추가하려면 권한 추가를 선택합니다.

  8. + 권한 추가를 다시 선택합니다.

  9. Microsoft API 탭 또는 내 조직에서 사용하는 API 탭에서 Azure DevOps를 선택한 다음 위임된 권한user_impersonation을 선택합니다.

    이 권한은 ALM Accelerator 앱의 사용자 지정 커넥터를 통해 Azure DevOps에 연결하는 데 필요합니다.

  10. 내 조직에서 사용하는 API 탭에서 Azure DevOps 권한을 추가한 경우 이 절차의 뒷부분에서 사용할 수 있도록 애플리케이션(클라이언트) ID를 복사합니다.

    이 절차의 뒷부분에서 복사할 애플리케이션(클라이언트) ID와 다른 DevOps 애플리케이션(클라이언트) ID로 사용합니다.

    내 조직에서 사용하는 API 탭과 애플리케이션(클라이언트) ID가 강조 표시된 API 권한 요청 창의 스크린샷.

    내 조직에서 사용하는 API 탭에서 Azure DevOps 권한을 찾을 수 없는 경우 다음 단계에 따라 DevOps 애플리케이션(클라이언트) ID를 가져옵니다.

    1. 프라이빗 브라우저 창을 열고 https://dev.azure.com/<your devops organization>/_apis으로 이동합니다.
    2. 로그인 페이지에서 URL의 client_id 매개 변수 값을 복사합니다.

    URL의 client_id 매개 변수가 강조 표시된 Azure DevOps 조직 로그인 페이지의 스크린샷.

  11. 앱 등록에 Azure DevOps API user_impersonation 권한을 추가하려면 권한 추가를 선택합니다.

  12. 관리자 동의 부여 <내 테넌트>를 선택합니다.

클라이언트 암호 및 리디렉션 URI 구성

  1. 왼쪽 측면 패널에서 인증서 및 암호를 선택합니다.

  2. + 새 클라이언트 암호를 선택합니다.

  3. 만료 날짜를 선택한 다음 추가를 선택합니다.

  4. 나중에 사용할 수 있도록 클라이언트 암호 을 복사합니다. 값을 복사할 수 있는 유일한 시간입니다. 페이지를 떠나기 전에 확인하십시오.

  5. 왼쪽 패널에서 개요를 선택합니다.

  6. 애플리케이션(클라이언트) ID디렉토리(테넌트) ID를 복사합니다.

  7. 구성을 선택합니다.

앱 등록에 Power App 관리 권한 부여

파이프라인이 환경에서 필요한 작업을 수행할 수 있도록 앱 등록에 Power App 관리 권한을 부여합니다. 이렇게 하려면 Power Apps 관리 권한이 있는 대화형 사용자로 다음 PowerShell cmdlet을 실행합니다. 앱 등록을 만든 후 이 명령을 한 번만 실행하면 됩니다.

중요

다음 PowerShell cmdlet은 Power Platform 관리자와 같은 상승된 권한을 앱 등록에 부여합니다. 조직의 보안 정책은 이러한 유형의 권한을 허용하지 않을 수 있습니다. 계속하기 전에 허용되는지 확인하세요. 허용되지 않는 경우 ALM Accelerator 파이프라인에서 특정 기능이 작동하지 않습니다.

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber
New-PowerAppManagementApp -ApplicationId <the Application (client) ID you copied when you created the app registration>

Azure DevOps 확장 기능 설치

ALM Accelerator는 Azure DevOps 마켓플레이스에서 제공되는 일부 타사 확장을 비롯해 여러 Azure DevOps 확장을 사용합니다. 각 타사 확장 프로그램의 웹 사이트와 해당 소스 코드에 대한 링크는 다음 지침에서 제공됩니다. 마켓플레이스 확장 게시자를 평가하는 방법 알아보기.

  1. Azure DevOps에 로그인합니다.

  2. 조직 설정을 선택합니다.

  3. 일반>확장을 선택합니다.

  4. 다음 확장 프로그램을 검색하여 설치합니다.

GitHub에서 Azure DevOps 인스턴스로 YAML 파이프라인 복제

  1. https://aka.ms/coe-alm-accelerator-templates-latest-release로 이동하여 최신 릴리스의 URL을 복사합니다.

  2. Azure DevOps에 로그인합니다.

  3. 프로젝트를 만들거나 기존 프로젝트를 선택합니다.

  4. 리포지토리를 선택한 다음 리포지토리 목록에서 리포지토리 가져오기를 선택합니다.

  5. 1단계에서 복사한 URL을 복제 URL로 붙여넣은 다음 가져오기를 선택합니다.

  6. 리포지토리의 기본 분기가 메인인지 확인합니다. 리포지토리분기를 선택하고 메인 분기가 기본값으로 태그 지정되었는지 확인합니다.

    그렇지 않은 경우 메인 분기에 해당하는 세 개의 수직 점()을 선택하고 추가 옵션 메뉴에서 기본 분기로 설정을 선택합니다.

    노트

    이 리포지토리는 솔루션 파이프라인 템플릿과 내보내기/가져오기 파이프라인이 실행되는 위치입니다. 나중에 솔루션에 대한 파이프라인을 만들 때 솔루션의 소스 제어에 대해 다른 리포지토리를 사용하도록 선택한 경우 이 특정 프로젝트 및 리포지토리를 참조해야 할 수 있습니다.

솔루션 가져오기, 삭제 및 내보내기를 위한 파이프라인 생성

Azure DevOps 리포지토리의 YAML을 기반으로 가져오기, 삭제 및 내보내기 파이프라인을 만듭니다. 이러한 파이프라인은 앱을 사용하여 Git에 솔루션을 커밋하거나 솔루션을 가져오거나 솔루션을 삭제할 때 실행됩니다.

노트

파이프라인이 실행 중인 솔루션에 관계없이 모든 내보내기가 동일한 작업을 수행할 것으로 예상되는 경우 이 섹션에 설명된 대로 단일 내보내기 파이프라인을 생성할 수 있습니다. 그러나 솔루션에 따라 다른 내보내기 작업이 필요할 수 있습니다. 이 경우 export-solution-to-git-SampleSolution과 같은 솔루션 이름을 export-solution-to-git 파이프라인에 추가하여 앱에서 작업을 수행할 때 앱이 특정 솔루션 파이프라인을 실행하도록 할 수 있습니다.

다음 표는 리포지토리의 YAML 파일과 함께 제공되는 파이프라인 간의 대응 관계를 보여줍니다.

YAML 파일 파이프라인 이름
export-solution-to-git.yml export-solution-to-git
import-unmanaged-to-dev-environment.yml import-unmanaged-to-dev-environment
delete-unmanaged-solution-and-components.yml delete-unmanaged-solution-and-components
  1. Azure DevOps에서 파이프라인>새 파이프라인 생성으로 이동합니다.

  2. 코드 리포지토리의 Azure Repos Git을 선택하고 이전 단계에서 파이프라인 템플릿으로 만들고 시드한 Azure DevOps 리포지토리를 가리킵니다.

  3. 파이프라인 구성페이지에서 기존 Azure 파이프라인 YAML 파일을 선택하고 /Pipelines/export-solution-to-git.yml, /Pipelines/import-unmanaged-to-dev-environment.yml 또는 /Pipelines/delete-unmanaged-solution-and-components.yml을 가리킵니다.

  4. 계속을 선택한 다음 저장을 선택합니다.

  5. 파이프라인 실행 옆의 추가 메뉴()를 선택한 후 이름 바꾸기/이동을 선택합니다.

  6. 파이프라인 이름을 export-solution-to-git, import-unmanaged-to-dev-environment 또는 delete-unmanaged-solution-and-components로 적절하게 변경합니다.

  7. 저장을 선택합니다.

내보내기 파이프라인 변수 만들기(선택 사항)

export-solution-to-git 파이프라인에서 파이프라인 변수를 설정하여 소스 제어에 유지되는 정보를 제어할 수 있습니다. 이러한 설정을 전역적으로 적용하려면 export-solution-to-git 파이프라인에서 변수를 설정하십시오. 내보내기 시 특정 솔루션에 설정을 적용하려면 이전 섹션의 참고에 설명된 대로 솔루션에 대한 내보내기 파이프라인을 생성하고 해당 파이프라인에서 변수를 설정합니다.

내보내기 프로세스 중에 환경 변수의 현재 값이 소스 제어에 커밋되지 않도록 하려면 export-solution-to-git 파이프라인에서 DoNotExportCurrentEnvironmentVariableValues 변수를 생성하고 해당 값을 True로 설정합니다.

중요

ALM Accelerator에서 배포 구성 기능을 사용할 수 있도록 이 파이프라인 변수를 사용하는 것이 좋습니다.

솔루션을 내보내는 동안 특정 기본 환경 변수의 값이 설정되었는지 확인하려면 export-solution-to-git 파이프라인에서 VerifyDefaultEnvironmentVariableValues 변수를 생성하고 해당 값을 True로 설정합니다. 배포 구성 가이드에 설명된 대로 customDeploymentSettings.json에서 기본 환경 변수의 값을 설정합니다.

  1. Azure DevOps에서 파이프라인>라이브러리>새 변수 그룹 만들기를 선택합니다.

  2. 여기에 제공된 대로 새 변수 그룹 이름을 alm-accelerator-variable-group으로 지정합니다.

    파이프라인은 이 특정 변수 그룹을 참조하므로 표시된 대로 정확히 이름을 지정해야 합니다. 변수 그룹에 다른 명명 규칙을 사용하기로 결정한 경우 대신 사용하는 이름을 참조하도록 파이프라인의 일부를 수정해야 합니다.

  3. 변수 그룹에 다음 변수를 추가합니다.

    입력 설명
    AADHost Microsoft Entra 권한 부여 엔드포인트 퍼블릭 클라우드의 경우 login.microsoftonline.com를 사용합니다. 정부 클라우드의 경우 적절한 권한 부여 URL을 사용합니다.
    ProcessCanvasApps 캔버스 앱을 내보내는 동안 압축을 풀지 또는 빌드하는 동안 압축할지 여부 False인 경우 캔버스 앱은 내보내기 중에 압축이 풀리거나 빌드 중에 압축되지 않습니다. 캔버스 앱 압축 풀기 및 압축 기능은 프리뷰 상태이며 현재 프로덕션 환경에서는 사용하지 않는 것이 좋습니다. 그러나 이 변수를 True로 설정하지 않으면 소스 제어에서 캔버스 소스 코드를 볼 수 없습니다.
  4. (선택 사항) 파이프라인에서 캔버스 스튜디오 테스트 자동화를 사용하는 경우 변수 그룹에 다음 변수를 추가합니다.

    입력
    TestAutomationLoginMethod CloudIdentity
    TestAutomationMakerPortalUrl Power Apps Maker Portal의 URL, 일반적으로 *https://make.powerapps.com*
    TestAutomationUsername 자동화된 테스트를 실행하는 데 사용되는 사용자 계정
    TestAutomationPassword 자동화된 테스트를 실행하는 데 사용되는 사용자 계정의 암호
  5. (선택 사항) 기본적으로 전역 변수는 제한되며 각 파이프라인에 대한 액세스를 구성해야 합니다. 이를 단순화하고 모든 파이프라인에 대한 액세스를 허용할 수 있습니다. 변수 그룹 (파이프라인>라이브러리>alm-accelerator-variable-group) 아래 상단 메뉴에서 파이프라인 권한을 선택하고 ()을 선택한 후 액세스 권한 열기를 선택합니다.

프로젝트 빌드 서비스에 대한 권한 설정

중요

Azure DevOps에는 여러 "빌드 서비스" 계정이 포함되어 있으며 이 섹션의 단계를 따를 때 혼란스러울 수 있습니다. 3단계와 5단계에 지정된 이름과 형식에 주의하십시오. 특정 계정이 초기 목록에 표시되지 않으면 검색해야 할 수도 있습니다.

  1. Azure DevOps에서 프로젝트 설정을 선택합니다.

  2. 리포지토리>보안을 선택합니다.

  3. 사용자에서 프로젝트 컬렉션 빌드 서비스(조직 이름)를 검색하여 선택합니다.

    노트

    프로젝트 컬렉션 빌드 서비스 사용자 다음에 조직 이름이 표시되지 않을 수 있습니다. 고유 식별자일 수 있습니다. 이 경우 검색 기능을 이용하여 사용자를 찾은 후 선택하세요.

  4. 빌드 서비스 사용자에 대해 다음 권한을 설정합니다.

    권한
    참가 허용
    끌어오기 요청에 참가 허용
    분기 만들기 허용
    정책 편집 허용
  5. 사용자에서 프로젝트 이름 빌드 서비스(귀하의 조직 이름)를 검색하여 선택합니다.

  6. 4단계와 동일한 값을 설정합니다.

  7. 파이프라인을 선택하고 오른쪽 상단 모서리의 점 세 개()를 선택한 다음 보안 관리를 선택합니다.

  8. 귀하의 프로젝트 이름 빌드 서비스(귀하의 조직 이름) 사용자에 대해 다음 권한을 설정합니다.

    권한
    빌드 파이프라인 수정 허용
    빌드 품질 수정 허용
    빌드 큐 관리 허용
    빌드별 체크인 유효성 검사 재정의 허용
    빌드 정보 업데이트 허용
    빌드 파이프라인 보기 허용
    빌드 보기 허용
  9. 프로젝트 설정>에이전트 풀을 선택하고 보안을 선택한 다음, 추가를 선택합니다.

  10. 귀하의 프로젝트 이름 빌드 서비스(귀하의 조직 이름)를 검색하여 선택합니다.

  11. 역할Reader로 설정합니다.

  12. 추가를 선택합니다.

  13. (선택 사항) 기본적으로 각 리포지토리에 대한 파이프라인 권한은 제한되며 개별적으로 구성해야 합니다. 이를 단순화하고 모든 파이프라인에 대한 액세스를 허용할 수 있습니다. 프로젝트 설정>리포지토리에서 각 리포지토리를 차례로 선택합니다. 상단 메뉴에서 보안을 선택합니다. 파이프라인 권한 블록을 찾아 ()을 선택하고 액세스 권한 열기를 선택합니다.

개발 프로젝트 설정

다음 섹션에서는 지원하는 각 개발 프로젝트를 설정하는 데 필요한 단계를 안내합니다. 이러한 맥락에서 개발 프로젝트는 ALM 프로세스 자체를 지원하는 Dataverse 환경의 구성을 포함하여 정상적인 ALM(애플리케이션 수명 주기 관리)을 지원하는 인프라 및 구성으로 구성됩니다.

Azure DevOps가 Power Platform에 액세스할 수 있도록 서비스 연결 만들기

개발, 유효성 검사, 테스트 및 프로덕션과 같은 각 Dataverse 환경에 대해 Azure DevOps에 Power Platform 서비스 연결이 있어야 합니다. 각 환경에 대해 다음 단계를 수행하십시오.

노트

ALM Accelerator 앱 사용자는 Azure DevOps에서 서비스 연결에 대한 사용자 또는 관리자 역할이 있는 환경만 볼 수 있습니다. 개인 개발 환경에서 작업하는 경우 제작자는 개인 개발 환경에 대한 서비스 연결에 대한 사용자 또는 관리자 역할이 있어야 합니다. 유효성 검사, 테스트 및 빌드 서비스와 같은 프로덕션 환경 서비스 연결에는 파이프라인에 부여된 권한만 필요합니다.

  1. Azure DevOps에 로그인한 다음 프로젝트를 선택합니다.

  2. 프로젝트 설정>서비스 연결을 선택한 다음 서비스 연결 만들기를 선택합니다.

  3. Power Platform 서비스 연결 유형을 검색하여 선택합니다.

  4. 다음을 선택합니다.

  5. 서버 URL에 환경 URL(예: https://myorg.crm.dynamics.com/)을 입력합니다.

    중요

    URL에 후행 슬래시(/)를 포함해야 합니다. 즉, 이 예에서는 .com 뒤에 있습니다.

  6. 서비스 연결 이름에 트레이닝 슬래시(/)를 포함하여 4단계에서 입력한 것과 동일한 URL을 입력합니다.

  7. 앱 등록을 만들 때 Microsoft Entra에서 복사한 테넌트 ID, 애플리케이션(클라이언트) ID, 클라이언트 암호를 입력합니다.

  8. 모든 파이프라인에 대한 액세스 권한 부여를 선택합니다.

  9. 저장을 선택합니다.

서비스 연결은 사용자가 앱에서 액세스할 수 있어야 하는 모든 환경(예: 제작자 환경)의 모든 사용자에게 사용자 권한을 제공해야 합니다.

  1. 서비스 연결 목록에서 사용자와 공유할 서비스 연결을 선택합니다.

  2. 오른쪽 상단 모서리에서 더 보기()를 선택한 후 보안을 선택합니다.

  3. 그룹 또는 사용자 목록에서 사용자 권한을 제공할 사용자 또는 그룹을 선택합니다.

  4. 사용자를 선택하고 역할을 선택한 다음 추가를 선택합니다.

각 개발, 유효성 검사, 테스트 및 프로덕션 환경에 대해 이 섹션의 단계를 반복합니다.

서비스 연결을 사용하도록 프로젝트 빌드 서비스에 대한 권한 설정

  1. Azure DevOps에서 프로젝트 설정>서비스 연결을 선택합니다.

  2. 오른쪽 상단 모서리에서 ()을 선택하고 보안을 선택한 다음 추가를 선택합니다.

  3. 귀하의 프로젝트 이름 빌드 서비스(귀하의 조직 이름)를 검색하여 선택합니다.

  4. 역할관리자로 설정한 다음 추가를 선택합니다.

Dataverse 환경에 앱 사용자 만들기

파이프라인이 Dataverse에 연결할 수 있도록 환경에서 애플리케이션 사용자를 생성합니다. ALM Accelerator를 사용하여 배포하려는 각 환경에서 이 작업을 수행하십시오.

  1. Power Platform 관리 센터에 로그인합니다.

  2. 개발 환경을 선택한 다음 설정을 선택합니다.

  3. 사용자 + 권한>애플리케이션 사용자를 선택합니다.

  4. + 새 앱 사용자를 선택합니다.

  5. + 앱 추가를 선택하고 앞에서 만든 앱 등록을 선택한 다음 추가를 선택합니다.

  6. 사업부를 선택합니다.

  7. 보안 역할 오른쪽에 있는 연필 아이콘을 선택한 다음 앱 사용자의 보안 역할을 선택합니다.

    앱 사용자에게 시스템 관리자 보안 역할 권한을 부여하여 사용자가 각 환경에서 필요한 기능을 수행할 수 있도록 하는 것이 좋습니다.

  8. 만들기를 선택합니다.

검증, 테스트 및 프로덕션 환경에서 이 단계를 반복합니다.

솔루션 설정

Dataverse에서 솔루션을 만들 때는 특별히 해당 솔루션을 위한 파이프라인을 만들어야 합니다. 다음 샘플 파이프라인은 coe-alm-templates 리포지토리의 파이프라인 디렉터리에 포함되어 있습니다.

샘플 파이프라인은 조직에서 파이프라인 템플릿을 특정 솔루션 파이프라인 YAML과 별도의 프로젝트 또는 리포지토리에 저장할 수 있는 유연성을 제공합니다. 솔루션 파이프라인을 구성하려면 이 섹션의 따릅니다. 소스 제어를 위해 ALM Accelerator를 사용하는 각 솔루션에 대해 이 단계를 반복합니다.

중요

솔루션 파이프라인의 파이프라인 YAML은 항상 솔루션을 소스 제어하기 위해 사용하는 동일한 리포지토리에 저장됩니다. 그러나 파이프라인 템플릿, 즉 Pipeline\Templates 폴더는 솔루션 파이프라인 YAML과 동일한 리포지토리 또는 별도의 리포지토리 또는 프로젝트에 존재할 수 있습니다.

솔루션 빌드 및 배포 파이프라인 만들기

솔루션 파이프라인은 소스 제어 솔루션을 빌드하고 테넌트의 환경에 배포하는 데 사용됩니다. 샘플 파이프라인에서는 유효성 검사, 테스트 및 프로덕션의 세 가지 환경만 사용한다고 가정합니다. 그러나 조직의 환경 전략에 따라 필요한 만큼 솔루션 파이프라인을 만들 수 있습니다.

샘플 배포 파이프라인은 분기의 변경(즉, 테스트 및 프로덕션)에 의해 트리거되거나 Azure DevOps의 분기 정책의 일부로(즉, 유효성 검사) 트리거됩니다. 풀 요청 유효성 검사를 위한 분기 정책 설정에 대해 자세히 알아보기. 트리거 없이 파이프라인을 수동으로 실행할 수도 있습니다.

이 섹션의 단계에 따라 샘플 파이프라인 YAML에서 배포 파이프라인을 생성합니다. 다음 표에서는 파이프라인 구성을 설명합니다.

중요

파이프라인 이름은 MyNewSolution 대신 솔루션 이름을 사용하여 다음 표에 표시된 것과 정확히 일치해야 합니다.

파이프라인 YAML 파일 이름 파이프라인 이름 분기 정책 사용 필수 여부
build-deploy-validation-MyNewSolution.yml deploy-validation-MyNewSolution
build-deploy-test-MyNewSolution.yml deploy-test-MyNewSolution 아니요
build-deploy-prod-MyNewSolution.yml deploy-prod-MyNewSolution 없음 없음(다음 섹션으로 이동)

노트

다음 단계에서는 유효성 검사, 테스트 및 프로덕션 환경을 위한 빌드 및 배포 파이프라인을 만듭니다. 그러나 유효성 검사 및 테스트를 위해 빌드 및 배포한 다음 테스트 빌드에서 프로덕션으로 아티팩트를 배포할 수 있습니다. 이 경우 검증 및 테스트 환경에 대해서만 이 섹션의 단계를 따르십시오. 그런 다음 솔루션 배포 파이프라인 만들기로 건너뛰어 릴리스 파이프라인을 구성합니다.

파이프라인 파일 만들기

  1. Azure DevOps에서 커밋한 파이프라인 폴더를 포함하는 리포지토리로 이동하고 파이프라인 폴더를 선택합니다.

  2. 세 가지 샘플 배포 파이프라인 중 하나를 열고 새 파이프라인에서 사용할 YAML을 복사합니다.

  3. 파이프라인에 사용할 리포지토리의 이름을 확인합니다.

  4. 솔루션을 소스 제어하기 위해 사용하려는 리포지토리로 이동합니다.

  5. 기본 분기를 기반으로 분기를 생성하고 솔루션 이름을 지정(예: MyNewSolution)합니다.

    이 분기는 솔루션의 다음 버전(v-next) 분기가 됩니다. 모든 개발 작업은 이 분기에서 개발자 개인 작업 분기로 분기한 다음 유효성 검사 및 테스트로 밀어넣기 위해 v-next 분기로 병합되어야 합니다. 나중에 릴리스가 준비되면 v-next 분기를 주 또는 기본 분기에 병합할 수 있습니다.

  6. 상단 메뉴에서 새로 만들기를 선택한 다음 폴더를 선택합니다.

  7. 새 폴더에 솔루션과 동일한 이름을 지정하십시오.

  8. build-deploy-validation-SampleSolution.yml, build-deploy-test-SampleSolution.yml 또는 build-deploy-prod-SampleSolution.yml과 같은 새 파이프라인 YAML 파일 이름을 지정합니다.

  9. 만들기를 선택합니다.

파일 업데이트 및 저장

  1. 이전 섹션의 2단계에서 복사한 YAML을 새 파이프라인 파일에 붙여넣습니다.

  2. 새 파이프라인 YAML에서 다음 값을 변경합니다.

    • 리소스>리포지토리>이름을 파이프라인 템플릿이 포함된 리포지토리의 이름으로 변경합니다.

      이 예시에서 리포지토리 이름은 coe-alm-accelerator-templates이고 MyNewSolution 리포지토리와 동일한 프로젝트에 존재합니다. 템플릿 리포지토리가 다른 Azure DevOps 프로젝트에 있는 경우 ProjectName/RepoName 형식을 사용할 수 있습니다. 또한 필요한 경우 ref 매개 변수를 사용하여 템플릿이 있는 분기를 지정할 수 있습니다.

    • SampleSolutionName을 참조하는 모든 값을 솔루션(예: MyNewSolution)의 고유한 이름으로 변경합니다.

  3. 커밋을 선택하여 변경 내용을 저장합니다.

  4. Azure DevOps에서 파이프라인으로 이동하여 새 파이프라인 만들기를 선택합니다.

  5. 코드 리포지토리의 Azure 리포지토리 깃을 선택합니다.

  6. 배포 파이프라인 YAML을 포함하는 DevOps 리포지토리를 선택합니다.

  7. 파이프라인 구성 페이지에서 기존 Azure 파이프라인 YAML 파일을 선택하고 이전에 만든 리포지토리의 YAML 파일을 가리킨 다음 계속을 선택합니다.

  8. 저장을 선택하고 파이프라인 실행 옆의 ()을 선택한 후 이름 바꾸기/이동을 선택합니다.

  9. 파이프라인 이름을 deploy-validation-MyNewSolution, deploy-test-MyNewSolution 또는 deploy-prod-MyNewSolution으로 변경합니다. 여기에서 MyNewSolution은 솔루션의 이름입니다.

  10. 저장을 선택합니다.

  11. 리포지토리의 기본 분기에서 새 파이프라인이 생성되지 않은 경우 파이프라인에서 편집을 선택합니다. 오른쪽 상단 모서리에서 ()를 선택한 후 트리거를 선택합니다. YAML 탭을 선택한 다음, 소스 가져오기를 선택합니다. 솔루션 분기를 가리키도록 수동 및 예약된 빌드를 위한 기본 분기를 변경합니다. 파이프라인 트리거 구성 방법 자세히 알아보기.

  12. 상기의 단계를 반복하여 coe-alm-accelerator-templates 리포지토리(deploy-validation-SampleSolution.yml, deploy-test-SampleSolution.yml, deploy-prod-SampleSolution.yml)의 샘플 배포 파이프라인 YAML을 참조하는 각 환경에 대한 배포 파이프라인을 만듭니다.

  13. 저장 및 큐에 넣기를 선택한 다음 저장을 선택합니다.

솔루션 배포 파이프라인 만들기(선택 사항)

앞서 언급했듯이 이전 섹션의 단계에서는 유효성 검사, 테스트 및 프로덕션 환경을 위해 빌드 및 배포하는 파이프라인을 생성합니다. 그러나 유효성 검사 및 테스트용으로만 빌드 및 배포한 다음 테스트 빌드에서 프로덕션으로 아티팩트를 배포하려는 경우 별도의 솔루션 배포 파이프라인을 만들 수 있습니다.

샘플 파이프라인 YAML에서 솔루션 배포 파이프라인을 생성하려면 이 섹션의 단계를 따르십시오. 다음 표에서는 파이프라인 구성을 설명합니다.

중요

파이프라인 이름은 MyNewSolution 대신 솔루션 이름을 사용하여 다음 표에 표시된 것과 정확히 일치해야 합니다.

파이프라인 YAML 파일 이름 파이프라인 이름 분기 정책 사용
deploy-prod-MyNewSolution.yml deploy-prod-MyNewSolution 없음
  1. Azure DevOps에서 커밋한 파이프라인 폴더를 포함하는 리포지토리로 이동하고 파이프라인 폴더를 선택합니다.

  2. 샘플 배포 파이프라인 deploy-prod-pipelineartifact-SampleSolution.yml을 열고 새 파이프라인에서 사용할 YAML을 복사합니다.

  3. 파이프라인에 사용할 리포지토리의 이름을 확인합니다.

  4. 솔루션을 소스 제어하기 위해 사용하려는 리포지토리로 이동합니다.

  5. 상단 메뉴에서 새로 만들기를 선택한 다음 파일을 선택합니다.

  6. 새 파이프라인 YAML 파일에 이름(예: deploy-prod-MyNewSolution.yml)을 지정합니다. 여기서 MyNewSolution은 솔루션의 이름입니다.

  7. 만들기를 선택합니다.

  8. 2단계에서 복사한 YAML을 새 파이프라인 파일에 붙여넣습니다.

  9. 새 파이프라인 YAML에서 다음 값을 변경합니다.

    • 트리거>분기>포함을 변경 사항이 프로덕션 배포를 트리거해야 하는 분기로 변경합니다.

    • 리소스>리포지토리>이름을 파이프라인 템플릿이 포함된 리포지토리의 이름으로 변경합니다.

      이 예시에서 리포지토리 이름은 coe-alm-accelerator-templates이고 MyNewSolution 리포지토리와 동일한 프로젝트에 존재합니다. 템플릿 리포지토리가 다른 Azure DevOps 프로젝트에 있는 경우 ProjectName/RepoName 형식을 사용할 수 있습니다. 또한 필요한 경우 ref 매개 변수를 사용하여 템플릿이 있는 분기를 지정할 수 있습니다.

    • 리소스>파이프라인>소스를 업데이트하여 이 파이프라인이 배포해야 하는 아티팩트가 포함된 빌드 파이프라인을 지정합니다. 이 경우 테스트 환경에 솔루션을 구축하고 배포한, 이전에 생성된 테스트 파이프라인의 아티팩트를 배포할 것입니다.

    • SampleSolutionName을 참조하는 모든 값을 솔루션(예: MyNewSolution)의 고유한 이름으로 변경합니다.

  10. deploy-validation-ALMAcceleratorSampleSolutiondeploy-test-ALMAcceleratorSampleSolution에 대한 이전 섹션의 11~20단계를 반복하여 deploy-prod-ALMAcceleratorSampleSolution이라는 새 프로덕션 파이프라인 YAML에서 파이프라인을 만듭니다.

배포 파이프라인 변수 설정

이전에 구성한 각 배포 파이프라인에 대해 파이프라인이 배포되는 환경에 따라 변수 EnvironmentNameServiceConnection의 값을 설정해야 합니다. 배포의 일부로 EnableFlows 변수를 설정하여 Power Automate 흐름을 끌 수도 있습니다.

환경 및 서비스 연결 변수 만들기(필수)

모든 배포 파이프라인에는 환경 변수 EnvironmentName와 서비스 연결 변수 ServiceConnection가 필요합니다.

  • EnvironmentName은 배포 기록을 추적하고 특정 환경에 대한 배포에 대한 권한 및 승인을 설정하기 위해 배포되는 Azure DevOps 환경을 지정합니다. 이 값을 검증, 테스트 또는 프로덕션으로 적절하게 설정합니다.

  • ServiceConnection 배포 파이프라인이 Power Platform에 연결하는 방법을 지정합니다. 허용되는 값은 이전에 만든 서비스 연결의 이름입니다.

  1. 각 배포 파이프라인에서 편집을 선택합니다.

  2. 배포 파이프라인 정의에서 변수를 선택하여 변수 편집기를 엽니다.

  3. 변수를 추가하려면 (+)를 선택합니다. 변수 이름과 적절한 값을 입력합니다.

이 단계를 반복하여 EnvironmentNameServiceConnection 변수를 만듭니다.

EnableFlows 변수 만들기(선택 사항)

EnableFlows라는 파이프라인 변수의 값을 False로 설정하여 배포의 일부로 Power Automate 흐름을 자동으로 활성화하는 단계를 건너뛸 수 있습니다. EnableFlows 변수의 기본값은 True입니다.

끌어오기 요청의 유효성 검사를 위한 분기 정책 설정

끌어오기 요청이 생성될 때 이전에 생성한 파이프라인을 실행할 분기 정책을 생성합니다.

  1. Azure DevOps에서 리포지토리로 이동한 다음 분기 폴더를 선택합니다.

  2. 끌어오기 요청 정책을 만들려는 분기를 찾습니다. 분기 오른쪽에 있는 ()를 선택한 다음 분기 정책을 선택합니다.

  3. 분기 정책 페이지에서 빌드 유효성 검사로 이동합니다.

  4. +를 선택하여 새 분기 정책을 만듭니다.

  5. 빌드 파이프라인 목록에서 이전에 만든 파이프라인을 선택합니다.

  6. 적용 가능한 경우 경로 필터를 지정하여 지정된 경로에 대한 변경 사항만 끌어오기 요청에 대한 파이프라인을 트리거하도록 합니다.

  7. 트리거자동으로 설정합니다.

  8. 정책 요구 사항필수로 설정합니다.

  9. 빌드 만료즉시로 설정합니다.

  10. 분기 정책에 대한 표시 이름(예: PR 빌드 유효성 검사)을 설정합니다.

  11. 저장을 선택합니다.

유효성 검사 빌드 정책에 대한 설정 선택 스크린샷.

파이프라인에 대한 리소스 액세스 권한 설정

파이프라인을 실행하려면 리포지토리, 변수 그룹 및 서비스 연결과 같은 필수 리소스에 대한 액세스 권한이 필요합니다. 액세스를 허용하려면 세 가지 옵션이 있습니다.

처음 실행하는 동안 액세스 권한 부여

파이프라인을 처음 실행하는 동안 필요한 리소스에 대한 액세스를 허용할 수 있습니다.

  1. 파이프라인을 트리거하고 Azure DevOps에서 파이프라인 실행을 엽니다.
  2. "필수 권한" 배너에서 보기를 선택합니다.
  3. 필요한 각 리소스에 대해 허용을 선택합니다.

명시적 권한 부여

필요한 리포지토리에 액세스할 수 있도록 파이프라인에 대한 명시적 권한을 부여할 수 있습니다.

  1. Azure DevOps에서 프로젝트 설정을 엽니다.
  2. 리포지토리를 선택한 다음 리포지토리를 선택합니다.
  3. 보안 탭을 선택합니다.
  4. 파이프라인 권한까지 아래로 스크롤하고 +를 선택합니다.
  5. 리포지토리에 대한 액세스 권한을 부여할 파이프라인을 선택합니다.

필요한 변수 그룹에 액세스할 수 있도록 파이프라인에 대한 명시적 권한을 부여할 수 있습니다.

  1. Azure DevOps에서 파이프라인>라이브러리를 선택한 다음 변수 그룹을 선택합니다.
  2. 파이프라인 권한을 선택합니다.
  3. +를 선택한 다음 변수 그룹에 대한 액세스 권한을 부여하려는 파이프라인을 선택합니다.

필요한 서비스 연결에 액세스하기 위해 파이프라인에 대한 명시적 권한을 부여할 수 있습니다.

  1. Azure DevOps에서 프로젝트 설정을 엽니다.
  2. 서비스 연결을 선택한 다음 서비스 연결을 선택합니다.
  3. 추가 작업()을 선택한 다음, 보안을 선택합니다.
  4. 파이프라인 권한까지 아래로 스크롤하고 +를 선택합니다.
  5. 서비스 연결에 대한 액세스 권한을 부여하려는 파이프라인을 선택합니다.

모든 파이프라인 액세스 권한 부여

현재 가지고 있는 파이프라인과 미래에 생성하는 모든 파이프라인이 필요한 리포지토리에 액세스하도록 허용할 수 있습니다.

  1. Azure DevOps에서 프로젝트 설정을 엽니다.
  2. 리포지토리를 선택한 다음 리포지토리를 선택합니다.
  3. 보안 탭을 선택합니다.
  4. 파이프라인 권한으로 아래로 스크롤합니다.
  5. 추가 작업()을 선택하고 액세스 권한 열기를 선택한 다음 메시지가 표시되면 확인합니다.

모든 파이프라인이 필수 변수 그룹에 액세스하도록 허용할 수 있습니다.

  1. Azure DevOps에서 파이프라인>라이브러리를 선택한 다음 변수 그룹을 선택합니다.
  2. 파이프라인 권한을 선택합니다.
  3. 추가 작업()을 선택하고 액세스 권한 열기를 선택한 다음 메시지가 표시되면 확인합니다.

모든 파이프라인이 필요한 서비스 연결에 액세스하도록 허용할 수 있습니다.

  1. Azure DevOps에서 프로젝트 설정을 엽니다.
  2. 서비스 연결을 선택한 다음 서비스 연결을 선택합니다.
  3. 추가 작업()을 선택한 다음, 보안을 선택합니다.
  4. 서비스 연결을 선택하고 추가 작업()을 선택한 후 보안을 선택합니다.
  5. 파이프라인 권한으로 아래로 스크롤합니다.
  6. 추가 작업()을 선택하고 액세스 권한 열기를 선택한 다음 메시지가 표시되면 확인합니다.

작업 권한 부여 범위 설정

전체 Azure DevOps 조직 또는 특정 프로젝트에 대해 작업 권한 부여 범위를 설정할 수 있습니다. 템플릿을 설치하기 위해 다른 Azure DevOps 프로젝트를 선택하는 경우 릴리스 파이프라인의 현재 프로젝트로 작업 권한 부여 범위 제한 설정을 비활성화합니다.

모든 프로젝트에 대해 조직 수준에서 작업 권한 부여 범위를 설정하려면

  1. Azure DevOps에서 조직 설정 > 파이프라인 > 설정을 선택합니다.
  2. 릴리스 파이프라인의 현재 프로젝트로 작업 권한 부여 범위 제한 설정을 비활성화합니다.

배포 구성 만들기(선택 사항)

솔루션이 배포된 후 대상 환경에서 여러 구성을 생성해야 합니다. 이러한 구성은 환경에 따라 다르며 캔버스 앱 공유 및 Power Automate 흐름과 같은 솔루션 구성 요소의 소유권 업데이트 외에도 Microsoft Entra 그룹 및 Dataverse 팀에 대한 연결 참조, 환경 변수 및 권한을 포함합니다. 이러한 구성과 함께 대상 환경에는 전체 엔드투엔드 ALM 환경을 제공하기 위해 솔루션의 Dataverse 테이블과 연결된 샘플 또는 구성 데이터가 필요한 경우가 많습니다.

솔루션에 이러한 다른 구성 또는 데이터가 필요한 경우 배포 구성 가이드에 따라 배포하는 환경을 기준으로 파이프라인을 구성합니다.

솔루션 가져오기 및 앱 구성

ALM Accelerator 캔버스 앱을 Power Platform 환경으로 가져온 다음 포함된 Azure DevOps용 사용자 지정 커넥터를 구성합니다.

Dataverse에 ALM Accelerator 설치

  1. ALM Accelerator 솔루션은 크리에이터 키트에 따라 달라집니다. 이제 크리에이터 키트를 설치합니다.

  2. GitHub에서 최신 관리형 솔루션 파일을 다운로드합니다. 자산까지 아래로 스크롤하고 CenterofExcellenceALMAccelerator_<latest version>_managed.zip을 선택합니다.

  3. Power Apps에 로그인한 다음 ALM Accelerator 앱을 호스팅할 환경을 선택합니다.

  4. 왼쪽 패널에서 솔루션을 선택합니다.

  5. 솔루션 가져오기>검색을 선택한 다음 다운로드한 관리형 솔루션의 위치를 찾아 파일을 선택합니다.

  6. 다음을 선택한 후 다시 다음을 선택합니다.

  7. 연결 페이지에서 CDS DevOps 연결을 Dataverse에 연결하기 위한 연결을 선택하거나 생성합니다.

    Microsoft Entra를 사용하여 HTTP에 대한 연결을 만들 때 두 매개 변수 모두에 Microsoft Graph를 사용하세요.

  8. 가져오기를 선택합니다.

DevOps 사용자 지정 커넥터 구성

  1. 데이터>사용자 지정 커넥터>CustomAzureDevOps를 선택합니다.

  2. 편집을 선택합니다. 보안 페이지에서 편집을 선택한 후 다음 필드를 설정합니다.

    입력
    인증 유형 OAuth 2.0
    ID 공급자 Azure Active Directory
    클라이언트 ID 앱 등록 만들기를 수행할 때 복사한 애플리케이션(클라이언트) ID
    클라이언트 암호 앱 등록 만들기를 수행할 때 복사한 애플리케이션(클라이언트) 암호 값
    테넌트 ID 기본값은 일반으로 둡니다
    리소스 URL 앱 등록에 권한을 추가할 때 복사한 DevOps 애플리케이션(클라이언트) ID
    리디렉션 URL 자동 생성. '리디렉션 URL' 아래에 '고유 리디렉션 URL로 업데이트' 확인란이 있는 경우 해당 확인란을 선택하세요.
  3. 커넥터 업데이트를 선택합니다.

'리디렉션 URL'을 '리디렉션 URI'로 추가합니다.

위 섹션에서 자동 생성된 '리디렉션 URL'을 앱 등록에 '리디렉션 URI'로 추가해야 합니다.

  1. 생성한 앱 등록으로 돌아가기.

  2. 왼쪽 패널에서 개요를 선택합니다.

  3. 리디렉션 URI 추가를 선택합니다.

  4. + 플랫폼 추가를 선택한 다음 을 선택합니다.

  5. 리디렉션 URI 텍스트 상자 아래에 위 섹션에서 복사한 자동 생성된 '리디렉션 URL'을 붙여넣습니다.

  6. 구성을 선택합니다.

사용자 지정 커넥터 테스트

  1. 테스트 메뉴를 엽니다.

  2. 새 연결을 선택하고 메시지에 따라 연결을 만듭니다.

  3. Power Apps에서 환경을 선택한 후 Dataverse>Custom Connectors>CustomAzureDevOps를 선택합니다.

  4. 편집을 선택하고 테스트 페이지로 이동하고 GetOrganizations 작업을 선택합니다.

  5. 테스트 작업을 선택합니다.

  6. 반환된 응답 상태200이고 응답 본문이 Azure DevOps 조직의 JSON 표현인지 확인합니다.

    사용자 지정 Azure DevOps 커넥터에 대한 테스트 보안 설정 스크린샷.

ALM Accelerator 앱을 사용하도록 제작자 설정

자세한 내용