다음을 통해 공유


ALM Accelerator 파이프라인 구성

파이프라인은 ALM Accelerator의 엔진입니다. Power Platform에 대한 ALM 프로세스를 자동화합니다. Azure DevOps의 서비스인 Azure Pipelines를 사용하여 빌드되고 Azure DevOps 프로젝트에 저장됩니다.

ALM 프로세스를 자동화하는 데 사용되는 네 가지 주요 파이프라인은 다음과 같습니다.

  • Import
  • Export
  • Delete
  • 빌드/배포

파이프라인은 ALM Accelerator 캔버스 앱과 함께 사용하도록 설계되었습니다. 앱을 사용할 필요는 없지만 권장합니다. 이 앱은 파이프라인을 호출하기 위한 간단한 인터페이스를 갖추고 있으며 기본 매개 변수를 이해하지 않고도 파이프라인을 구성하는 방법을 제공합니다.

일반적인 ALM Accelerator 파이프라인 시나리오

ALM 가속기 파이프라인 및 앱에는 Power Platform용 ALM을 빠르게 시작할 수 있는 기본 구성이 있습니다. 파이프라인은 조직의 요구 사항을 충족하기 위해 다양한 ALM 시나리오를 다룰 수 있습니다. 다음 섹션에서는 몇 가지 일반적인 시나리오와 파이프라인 구성, 배포 프로필 및 ALM Accelerator 앱의 단계를 통해 또는 파이프라인을 통해 직접 처리할 수 있는 방법에 대해 설명합니다.

한 프로젝트에 파이프라인을 설치하고 다른 프로젝트에 소스 코드를 설치합니다

ALM Accelerator 앱과 배포 프로필에서 파이프라인 프로젝트와 소스 프로젝트를 지정할 수 있습니다. 설정 마법사의 옵션을 사용하면 별도의 파이프라인 프로젝트와 리포지토리를 지정할 수 있습니다. 이러한 옵션은 사용자, 회사 구조 또는 기타 요인을 기반으로 솔루션 스토리지를 분할하려는 경우에 유용합니다. 대부분의 경우 파이프라인 YAML 파일은 파이프라인 프로젝트에 저장되고 내보내기, 가져오기 및 삭제 파이프라인은 솔루션이 소스 제어되는 프로젝트에서 생성됩니다.

ALM Accelerator 없이 파이프라인 실행

ALM Accelerator 캔버스 앱은 파이프라인 실행을 위한 간편한 버튼 레이어를 제공합니다. 그러나 앱을 실행할 필요는 없습니다. 앱과 독립적으로 파이프라인을 사용하려면 명령줄에서 직접 실행하십시오. 자신만의 앱을 빌드할 수도 있습니다. ALM Accelerator 솔루션에 포함된 Azure DevOps API용 사용자 지정 커넥터를 사용하여 Power Automate 또는 기타 Power Platform 기술을 사용하여 파이프라인을 호출합니다.

두 경우 모두 파이프라인을 독립적으로 사용하려는 경우 파이프라인에 전달되는 매개 변수를 이해하는 것이 핵심입니다.

파이프라인 매개 변수

import-unmanaged-to-dev-environment에 대한 매개변수: 소스 제어에서 개발 환경로 관리되지 않는 솔루션을 가져오려면 솔루션 가져오기 파이프라인을 사용합니다.

다음 표에서는 가져오기 파이프라인의 매개 변수를 설명합니다.

매개 변수 설명
Project 내 Azure DevOps 프로젝트 솔루션을 가져갈 프로젝트 이름
리포지토리 내 Azure DevOps 리포지토리 솔루션을 가져올 프로젝트 이름
솔루션 이름 MySolutionName 가져갈 솔루션의 이름
Email me@example.com 솔루션을 가져오는 사용자의 이메일 주소
UserName 마지막, 처음 솔루션을 가져오는 사용자의 사용자 이름
지점 main 솔루션을 빌드하고 가져올 분기
ServiceConnectionName MyServiceConnection 가져오기에 사용할 서비스 연결 이름
ServiceConnectionUrl example.crm.dynamics.com 가져오기를 위한 제작자 환경의 URL
EnvironmentName MyDevEnvironment 배포 파이프라인에서 배포 설정을 찾는 데 사용됩니다. 솔루션 소스의 config 디렉터리 아래에 있는 폴더 이름을 반환합니다

delete-unmanaged-solution-and-components에 대한 매개변수: 삭제 솔루션 파이프라인을 사용하여 개발 환경에서 관리되지 않는 솔루션과 모든 구성 요소를 삭제합니다.

다음 표에서는 삭제 파이프라인의 매개 변수를 설명합니다.

매개 변수 설명
솔루션 이름 MySolutionName 삭제할 솔루션의 이름
ServiceConnectionName MyServiceConnection 삭제할 솔루션에 사용할 서비스 연결 이름
ServiceConnectionUrl example.crm.dynamics.com 삭제할 솔루션의 메이커 환경 URL

export-solution-to-git에 대한 매개변수: 솔루션 내보내기 파이프라인을 사용하여 솔루션을 Git 저장소로 내보냅니다.

다음 표에서는 내보내기 파이프라인의 매개 변수를 설명합니다.

매개 변수 설명
Project 내 Azure DevOps 프로젝트 솔루션 소스 코드를 내보낼 프로젝트 이름
리포지토리 내 Azure DevOps 리포지토리 솔루션 소스 코드를 내보낼 리포지토리 이름
솔루션 이름 MySolutionName 내보낼 솔루션의 이름
Email me@example.com 솔루션을 내보내는 사용자의 이메일 주소
UserName 마지막, 처음 솔루션을 내보내는 사용자의 사용자 이름
CommitMessage #1234 버그 수정 저장소의 커밋에 저장할 변경 사항에 대한 설명
지점 main 분기를 만들 소스 분기 또는 커밋할 기존 분기
BranchToCreate feature-1234 필요한 경우 Branch 매개 변수를 기반으로 만들 새 분기의 고유 이름
ServiceConnectionName MyServiceConnection 솔루션 내보내기에 사용할 서비스 연결 이름
ServiceConnectionUrl example.crm.dynamics.com 내보낼 비관리형 솔루션이 존재하는 제작자 환경의 URL
데이터 [배포 설정 JSON] 내보내기 및 배포 파이프라인 구성에 사용할 배포 설정이 포함된 JSON 문자열
PortalSiteName MyPortalSite 내보낼 솔루션과 연결된 Power Pages 웹 사이트의 이름

ALM Accelerator 파이프라인을 사용하여 솔루션을 내보내거나 배포할 때 솔루션의 버전 관리 사용자 지정

기본적으로, 내보내고 배포된 솔루션은 배포 파이프라인 YAML 파일에 지정된 이름을 사용하여 버전이 지정됩니다. 그러나 ALM Accelerator 파이프라인을 사용하면 솔루션을 내보내거나 배포할 때 솔루션의 버전 관리를 사용자 지정할 수 있습니다. 다음 섹션에서는 사용할 수 있는 방법에 대해 설명합니다.

내보낸 버전 관리

배포된 모든 환경에서 파이프라인에서 내보낸 버전 번호를 버전 번호로 사용합니다. 내보내기 파이프라인에 UseSolutionVersionFromDataverse라는 변수를 만들거나 ALM Accelerator용 변수 라이브러리에 전역 변수를 만듭니다. True 값을 지정합니다. 이 변수는 솔루션에서 내보낸 버전 번호가 다운스트림 환경에서 보존되고 솔루션 소스가 커밋될 때 소스 제어에 반영되도록 합니다.

사용자 지정 버전 관리 논리

ALM Accelerator 후크를 사용하여 솔루션 버전을 설정합니다. build-solution-pack-pre-hook.yml 템플릿에 사용자 지정 논리를 추가하여 Solution.xml을 직접 조작하거나 pac 솔루션 버전과 같은 다른 도구를 사용하여 조작하십시오.

맞춤형 나만의 템플릿 버전 관리

배포 파이프라인 생성을 위한 자체 템플릿을 가져오는 기능은 솔루션의 초기 내보내기 중에 버전 관리에 대한 유연성을 제공합니다. 예를 들어, build-deploy-validation/test/prod-SampleSolution.yml의 복사본을 만들고 빌드 이름을 기본값에서 구성 실행 또는 빌드 번호를 기반으로 하는 버전 관리 전략으로 변경합니다.

build:
  - name: 1.0.$(Date:yyyyMMdd)$(Rev:.r)
    ...

템플릿을 배치한 후 배포 프로필에서 배포 단계를 업데이트하여 템플릿을 가리키도록 합니다.

파이프라인의 배포 단계 수와 대상 환경의 이름을 사용자 지정합니다

템플릿을 사용한 사용자 지정 버전 관리와 유사하게, 배포 파이프라인 생성을 위한 자체 템플릿을 가져오는 기능은 솔루션의 초기 내보내기 중에 더 많은 유연성을 제공합니다. 템플릿이 있는 프로젝트와 배포 파이프라인을 생성하는 데 사용할 템플릿 경로를 지정합니다. 프로젝트 및 경로에 대한 설정은 ALM Accelerator 관리 앱의 배포 프로필 및 배포 단계 테이블에 있습니다.

템플릿 경로는 내보내기 파이프라인 위치의 루트를 기준으로 합니다. 예를 들어 기본 유효성 검사 환경 배포 파이프라인 템플릿의 경로는 /Pipelines/build-deploy-validation-SampleSolution.yml입니다. 내보내기 파이프라인과 동일한 프로젝트에서 템플릿을 사용하려면 경로를 /Pipelines/build-deploy-validation-MyCustomTemplate.yml로 지정합니다.

다음 표에서는 배포 파이프라인이 생성될 때 대체되는 솔루션별 값에 대한 템플릿의 자리 표시자를 설명합니다.

자리 표시자 설명
SampleSolutionName 배포할 솔루션의 이름
RepositoryContainingTheBuildTemplates 배포 파이프라인에 사용할 빌드 템플릿이 포함된 리포지토리
BranchContainingTheBuildTemplates 배포 파이프라인에 사용할 빌드 템플릿이 포함된 분기
alm-accelerator-variable-group 빌드 템플릿이 배포 파이프라인에 사용하는 전역 변수 그룹

고유한 사용자 정의 템플릿으로 시작하려면 build-deploy-validation/test/prod-SampleSolution.yml 파이프라인 템플릿을 복사하는 것이 좋습니다.

기본 템플릿을 수정하지 않고 파이프라인에서 사용자 지정 단계 실행

ALM Accelerator 파이프라인 템플릿에는 업그레이드 시나리오에서 병합 충돌로 인한 노이즈를 최소화하면서 파이프라인을 사용자 지정하는 데 사용할 수 있는 여러 확장 지점 또는 후크가 있습니다. ALM Accelerator 후크에 대해 자세히 알아보세요.

파이프라인에서 특정 작업을 켜거나 끕니다

파이프라인은 변수를 사용하여 작업을 실행해야 하는지 여부 또는 여러 가능성이 있는 작업을 실행해야 하는지 여부를 결정합니다. 다음 표에서는 개별 파이프라인 또는 alm-accelerator-variable-group을 통해 모든 파이프라인에 대해 설정할 수 있는 변수를 설명합니다.

노트

내보내기 시 특정 솔루션에 대해 이러한 변수를 설정하려면 내보내기 파이프라인 템플릿을 기반으로 특정 내보내기 파이프라인을 생성합니다. 이름을 export-solution-to-git-{SolutionName}으로 지정합니다. ALM Accelerator 앱은 범용 export-solution-to-git 파이프라인이 아닌 솔루션에 대해 이 내보내기 파이프라인을 사용합니다.

변수 Default 파이프라인 설명
GenerateDeploymentSettings Export false이면 배포 설정이 생성되지 않고 소스 제어에 저장됩니다.
UseDeploymentSettingsPlaceholders Export false인 경우 배포 설정은 자리 표시자를 사용하지 않으며 배포 설정의 모든 값은 deploymentSettings.jsoncustomDeploymentSettings.json 파일에 저장됩니다.
중요: 민감한 정보는 배포 설정에서 일반 텍스트로 저장될 수 있습니다. 소스 제어에 대한 액세스 권한이 있는 모든 사용자는 이러한 값을 읽을 수 있습니다. 이 변수에 대한 값을 설정할 경우 주의하십시오.
DisableFlows False Export true인 경우 커밋하기 전에 압축을 푼 소스 코드에서 모든 흐름이 꺼집니다.
UseSolutionVersionFromDataverse False Export true인 경우 솔루션에서 내보낸 버전 번호가 다운스트림 환경에서 보존됩니다. 버전 번호는 솔루션 소스가 커밋될 때 소스 제어에 반영됩니다.
DoNotExportCurrentEnvironmentVariableValues False Export true인 경우 현재 환경에 대한 변수 값이 압축 해제된 솔루션의 소스 코드에서 제거됩니다.
PublishCustomizationsBeforeExport Export false인 경우 솔루션을 내보내기 전에 사용자 지정이 게시되지 않습니다. 이 옵션은 공유 환경에서 작업 중이고 게시된 최신 사용자 지정만 내보내려는 경우에 유용합니다.
CacheEnabled 내보내기/배포 false인 경우 PowerShell 모듈의 캐싱이 비활성화됩니다. 이 옵션은 파이프라인이 실행된 후 파이프라인이 캐시 디렉터리 정리를 실행하는 경우에 유용합니다.
ProcessCanvasApps 내보내기/배포 false인 경우 캔버스 앱은 내보내기 중에 압축이 풀리거나 빌드 중에 압축되지 않습니다.
참고사항: 캔버스 압축 풀기 및 압축 기능은 현재 프리뷰에 있습니다. 현재 프로덕션 환경에서는 사용하지 않는 것이 좋습니다. 그러나 이 변수를 True로 설정하지 않으면 소스 제어에서 캔버스 소스 코드를 볼 수 없습니다.
DisableSolutionChecker False 배포 true인 경우 끌어오기 요청을 통해 시작된 모든 빌드에서 솔루션 검사기가 실행되지 않습니다.
SkipSolutionImport False 배포 true인 경우 배포 중에 솔루션 가져오기 단계를 건너뜁니다. 그러나 흐름 활성화 및 공유와 같은 다른 활동은 계속 수행됩니다.

다음 단계