Microsoft Power Platform Build Tools 작업
사용 가능한 빌드 작업은 다음 섹션에서 설명합니다. 그런 다음 이러한 작업을 활용하는 Azure Pipelines의 예를 보여 드리겠습니다. 빌드 도구 및 다운로드 방법에 대한 자세한 내용은 Azure Pipelines용 Microsoft Power Platform Build Tools을 참조하세요.
도우미 작업
사용 가능한 도우미 작업은 다음에 설명되어 있습니다.
Power Platform 도구 설치 프로그램
이 작업은 빌드 및 릴리스 파이프라인의 다른 Power Platform 빌드 도구 작업보다 먼저 추가해야 합니다. 이 작업은 에이전트가 Microsoft Power Platform 빌드 작업을 실행하는 데 필요한 Power Platform 특유의 도구 집합을 설치합니다. 이 작업은 추가 시 더 이상 구성이 필요하지 않습니다. 이 작업에는 설치 중인 각 도구의 특정 버전에 대한 매개 변수가 포함되어 있습니다.
시간이 지남에 따라 도구 버전을 최신 상태로 유지하려면 이러한 매개 변수가 파이프라인이 올바르게 실행하는 데 필요한 도구 버전과 일치하는지 확인하십시오.
YAML 코드 조각(설치 프로그램)
# Installs default Power Platform Build Tools
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.tool-installer.PowerPlatformToolInstaller@2
displayName: 'Power Platform Tool Installer'
# Installs specific versions of the Power Platform Build Tools
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.tool-installer.PowerPlatformToolInstaller@2
displayName: 'Power Platform Tool Installer'
inputs:
DefaultVersion: false
XrmToolingPackageDeploymentVersion: 3.3.0.928
매개 변수(설치 프로그램)
매개 변수 | 설명 |
---|---|
DefaultVersion 기본 도구 버전 사용 |
모든 도구의 기본 버전을 사용하려면 true, 그렇지 않은 경우 false로 설정합니다. 도구 버전이 지정된 경우 필요합니다(false). |
PowerAppsAdminVersion XrmToolingPackageDeploymentVersion MicrosoftPowerAppsCheckerVersion CrmSdkCoreToolsVersion 도구 버전 |
사용할 도구의 특정 버전입니다. |
Power Platform WhoAmI
WhoAmI 요청을 연결하고 만들어 Power Platform 환경 서비스 연결을 확인합니다. 이 작업은 파이프라인의 초기에 포함하여 처리가 시작되기 전에 연결을 확인하는 데 유용할 수 있습니다.
YAML 코드 조각(WhoAmI)
# Verifies an environment service connection
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.whoami.PowerPlatformWhoAmi@2
displayName: 'Power Platform WhoAmI'
inputs:
# Service Principal/client secret (supports MFA)
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'My service connection'
# Verifies an environment service connection
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.whoami.PowerPlatformWhoAmi@2
displayName: 'Power Platform WhoAmI'
inputs:
# Username/password (no MFA support)
PowerPlatformEnvironment: 'My service connection'
매개 변수(WhoAmI)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(선택 사항) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
PowerPlatformEnvironment Power Platform 환경 URL |
연결할 대상 환경의 서비스 엔드포인트입니다. 프로젝트 설정의 서비스 연결에 정의됨. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
PowerPlatformSPN Power Platform 서비스 주체 |
연결할 대상 환경의 서비스 엔드포인트입니다. 프로젝트 설정의 서비스 연결에 정의됨. |
품질 검사
다음 섹션에는 솔루션 품질을 확인하는 데 사용할 수 있는 작업이 있습니다.
Power Platform Checker
이 작업은 솔루션을 빌드할 때 실수로 도입했을 수 있는 문제 패턴을 식별하기 위해 모범 사례 규칙에 대해 솔루션에 대한 정적 분석 검사를 실행합니다.
YAML 코드 조각(검사기)
# Static analysis check of your solution
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.checker.PowerPlatformChecker@2
displayName: 'Power Platform Checker '
inputs:
PowerPlatformSPN: 'Dataverse service connection'
RuleSet: '0ad12346-e108-40b8-a956-9a8f95ea18c9'
# Static analysis check of your solution
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.checker.PowerPlatformChecker@2
displayName: 'Power Platform Checker '
inputs:
PowerPlatformSPN: 'Dataverse service connection'
UseDefaultPACheckerEndpoint: false
CustomPACheckerEndpoint: 'https://japan.api.advisor.powerapps.com/'
FileLocation: sasUriFile
FilesToAnalyzeSasUri: 'SAS URI'
FilesToAnalyze: '**\*.zip'
FilesToExclude: '**\*.tzip'
RulesToOverride: 'JSON array'
RuleSet: '0ad12346-e108-40b8-a956-9a8f95ea18c9'
매개 변수(검사기)
매개 변수 | 설명 |
---|---|
PowerPlatformSPN 서비스 연결 |
(필수) 라이선스가 있는 Microsoft Power Platform 환경에 연결하려면 Power Platform 검사기를 사용해야 합니다. 서비스 연결은 Power Platform 연결 타입을 사용하여 프로젝트 설정 아래의 서비스 연결에 정의됩니다. More information: Power Platform 만들기 환경 아래의 BuildTools.EnvironmentUrl 참고 참고: 검사기 작업에는 서비스 주체 및 사용자 이름/암호 인증 방법을 사용할 수 있습니다. 이 작업에 사용할 서비스 주체를 구성하는 방법에 대한 자세한 내용은 Power Platform 환경에 대한 서비스 주체 연결 구성을 참조하십시오. |
UseDefaultPACheckerEndpoint 기본 Power Platform 검사기 끝점 사용 |
기본적으로(true) 검사기 서비스의 지리적 위치는 연결하는 환경과 동일한 지리적 위치를 사용합니다. |
CustomPACheckerEndpoint 사용자 정의 PAC 검사기 끝점 |
UseDefaultPACheckerEndpoint 가 false인 경우 필요합니다. 사용할 다른 지역을 지정할 수 있습니다. 예를 들어 https://japan.api.advisor.powerapps.com. 사용 가능한 지역 목록은 Power Platform Checker API 사용을 참조하세요. |
FileLocation 분석할 파일의 위치 |
SAS(공유 액세스 서명) URL sasUriFile 에서 파일을 참조할 때 필요합니다.참고: 리포지토리에서 압축을 푼 소스 파일이 아니라 내보낸 솔루션 파일을 참조하는 것이 중요합니다. 관리되는 솔루션 파일과 관리되지 않는 솔루션 파일을 모두 분석할 수 있습니다. |
FilesToAnalyzeSasUri 분석할 SAS 파일 |
FileLocation 이 sasUriFile 로 설정된 경우 필요합니다. SAS URI를 입력합니다. 쉼표(,) 또는 세미콜론(;)으로 구분된 목록을 통해 둘 이상의 SAS URI를 추가할 수 있습니다. |
FilesToAnalyze 분석할 로컬 파일 |
SAS 파일이 분석되지 않을 때 필요합니다. 분석할 zip 파일의 경로 및 파일 이름을 지정합니다. 와일드 카드를 사용할 수 있습니다. 예를 들어 모든 하위 폴더의 모든 zip 파일에 대해 **\*.zip을 입력합니다. |
FilesToExclude 실행할 로컬 파일 |
분석에서 제외할 파일의 이름을 지정합니다. 둘 이상인 경우 쉼표(,) 또는 세미콜론(;)으로 구분된 목록을 통해 제공합니다. 이 목록에는 전체 파일 이름 또는 *jquery 또는 form.js와 같이 선행 또는 후행 와일드카드가 있는 이름이 포함될 수 있습니다. |
RulesToOverride 재정의할 규칙 |
재정의할 규칙 및 수준이 포함된 JSON 배열입니다. OverrideLevel에 허용되는 값은 Critical, High, Medium, Low, Informational입니다. 예: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}] |
RuleSet 규칙 집합 |
(필수) 적용할 규칙 집합을 지정합니다. 다음과 같은 두 규칙 집합을 사용할 수 있습니다.
|
ErrorLevel 오류 수준 |
오류 임계값 매개 변수와 결합하여 허용되는 오류 및 경고의 심각도를 정의합니다. 지원되는 임계값은 수준이 Critical, High, Medium, Low, Informational일 때 <level>IssueCount입니다. |
ErrorThreshold 오류 임계값 |
검사기가 검사 중인 솔루션을 통과하도록 허용되는 지정된 수준의 오류 수(>=0)를 정의합니다. |
FailOnPowerAppsCheckerAnalysisError 오류 시 실패 |
true인 경우 Power Apps 검사기 분석이 Failed 또는 FinishedWithErrors로 반환되면 실패합니다. |
ArtifactDestinationName DevOps 아티팩트 이름 |
검사기 .sarif 파일의 Azure Artifacts 이름을 지정합니다. |
솔루션 작업
이 작업 집합은 솔루션 작업을 자동화 할 수 있습니다. 이 섹션의 뒷부분에 설명된 환경을 생성, 복사 또는 복원하는 환경 작업은 새로 생성된 환경과의 서비스 연결을 덮어씁니다. 이러한 작업을 통해 요청 시 생성되는 환경에 대해 솔루션 작업을 수행할 수 있습니다.
Power Platform 솔루션 가져오기
솔루션을 대상 환경으로 가져옵니다.
YAML 코드 조각(가져오기)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.import-solution.PowerPlatformImportSolution@2
displayName: 'Power Platform Import Solution '
inputs:
PowerPlatformEnvironment: 'My service connection'
SolutionInputFile: 'C:\Public\Contoso_sample_1_0_0_1_managed.zip'
HoldingSolution: true
OverwriteUnmanagedCustomizations: true
SkipProductUpdateDependencies: true
ConvertToManaged: true
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.import-solution.PowerPlatformImportSolution@2
displayName: 'Power Platform Import Solution '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
SolutionInputFile: 'C:\Public\Contoso_sample_1_0_0_1_managed.zip'
AsyncOperation: true
MaxAsyncWaitTime: 60
PublishWorkflows: false
매개 변수(가져오기)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
솔루션을 가져올 서비스 엔드포인트(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
PowerPlatformSPN Power Platform 서비스 주체 |
솔루션을 가져올 서비스 엔드포인트(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
SolutionInputFile 솔루션 입력 파일 |
(필수) 대상 환경으로 가져올 solution.zip 파일의 경로 및 파일 이름입니다(예: $(Build.ArtifactStagingDirectory)$(SolutionName).zip). 참고: 변수를 사용하면 파이프라인의 다양한 부분에 주요 데이터를 편리하게 가져올 수 있습니다. 전체 목록은 사전 정의된 변수 사용을 참조하십시오. |
HoldingSolution 보유 솔루션으로 가져오기 |
솔루션을 업그레이드해야 할 때 사용되는 고급 매개 변수(true|false)입니다. 이 매개변수는 Dataverse의 솔루션을 호스팅합니다. 그러나 솔루션 업그레이드 적용 작업이 실행될 때까지 솔루션을 업그레이드하지 않습니다. |
OverwriteUnmanagedCustomizations 비관리형 사용자 지정 덮어쓰기 |
관리되지 않는 사용자 지정을 덮어쓸지 여부를 지정합니다(true|false). |
SkipProductUpdateDependencies 제품 업데이트 종속성 건너뛰기 |
제품 업데이트와 관련된 종속성 적용을 건너뛸지 여부를 지정합니다(true|false). |
ConvertToManaged 관리형으로 전환 |
관리형 솔루션으로 내보낼지 여부를 지정합니다(true|false). |
AsyncOperation 비동기 가져오기 |
선택한 경우(true) 가져오기 작업이 비동기적으로 수행됩니다. 이 작업은 4분 후에 자동으로 시간 초과되므로 더 큰 솔루션에 권장됩니다. 비동기를 선택하면 MaxAsyncWaitTime에 도달할 때까지 폴링하고 기다립니다(true|false). |
MaxAsyncWaitTime 최대 대기 시간 |
비동기 작업의 최대 대기 시간(분). 기본값은 60분(1시간)이며, 작업에 대한 Azure DevOps 기본값과 동일합니다. |
PublishWorkflows 가져오기 후 프로세스 활성화 |
가져오기 후에 솔루션의 프로세스(워크플로)를 활성화해야 하는지 여부를 지정합니다(true|false). |
UseDeploymentSettingsFile 배포 설정 파일 사용 |
배포 설정 파일을 사용하여 연결 참조 및 환경 변수 값을 설정할 수 있습니다(true|false). |
DeploymentSettingsFile 배포 설정 파일 |
(UseDeploymentSettingsFile =true인 경우 필요) 배포 설정 파일의 경로 및 파일 이름입니다. |
Power Platform 솔루션 구성 요소 추가
비관리형 솔루션에 솔루션 구성 요소를 추가합니다.
YAML 코드 조각(추가)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.add-solution-component.PowerPlatformAddSolutionComponent@2
displayName: 'Power Platform Add Solution Component '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
SolutionName: 'SampleSolution '
Component: contact
ComponentType: 1
AddRequiredComponents: false
매개 변수(추가)
매개 변수 | 설명 |
---|---|
ComponentId 솔루션 구성 요소의 ID |
대상 솔루션에 추가할 구성 요소의 스키마 이름 또는 ID입니다. |
ComponentType Power Platform 환경 URL |
추가하는 솔루션 구성 요소를 나타내는 값입니다. 구성 요소 값의 전체 목록은 사전 정의된 구성 요소 유형 사용을 참조하십시오. |
SolutionUniqueName 솔루션의 이름 |
솔루션의 고유 이름입니다. |
AddRequiredComponents 솔루션 구성 요소에 종속된 다른 솔루션에 필요한 모든 구성 요소 |
(선택 사항)추가하는 솔루션 구성 요소에 필요한 다른 솔루션 구성 요소도 비관리형 솔루션에 추가해야 하는지를 나타냅니다. |
Environment 환경 URL 또는 ID |
(선택 사항)대상 환경의 환경 URL 또는 ID입니다. |
Power Platform 솔루션 업그레이드 적용
보유 솔루션으로 가져온 솔루션을 업그레이드합니다.
YAML 코드 조각(업그레이드)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.apply-solution-upgrade.PowerPlatformApplySolutionUpgrade@2
displayName: 'Power Platform Apply Solution Upgrade '
inputs:
PowerPlatformEnvironment: 'My service connection'
SolutionName: 'Contoso_sample'
AsyncOperation: false
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.apply-solution-upgrade.PowerPlatformApplySolutionUpgrade@2
displayName: 'Power Platform Apply Solution Upgrade '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
SolutionName: 'Contoso_sample'
MaxAsyncWaitTime: 45
매개 변수(업그레이드)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
솔루션을 업그레이드할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
PowerPlatformSPN Power Platform 서비스 주체 |
솔루션을 업그레이드할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
SolutionName 솔루션 이름 |
(필수) 업그레이드를 적용할 솔루션의 이름입니다. 항상 표시 이름이 아닌 솔루션 이름을 사용합니다. |
AsyncOperation 비동기 업그레이드 |
선택한 경우(true) 업그레이드 작업이 비동기 일괄 작업으로 수행됩니다. 비동기를 선택하면 MaxAsyncWaitTime에 도달할 때까지 폴링하고 기다립니다. |
MaxAsyncWaitTime 최대 대기 시간 |
비동기 작업의 최대 대기 시간(분). 기본값은 60분(1시간)이며, 작업에 대한 Azure DevOps 기본값과 동일합니다. |
노트
변수를 사용하면 주요 데이터 비트를 파이프라인의 다양한 부분에 편리하게 가져올 수 있습니다. 전체 목록은 사전 정의된 변수 사용을 참조하십시오. 배포 설정 파일을 사용하여 솔루션을 가져오는 동안 대상 환경에 대한 연결 참조 및 환경 변수 정보를 미리 채울 수 있습니다.
Power Platform 솔루션 내보내기
원본 환경에서 솔루션을 내보냅니다.
YAML 코드 조각(내보내기)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.export-solution.PowerPlatformExportSolution@2
displayName: 'Power Platform Export Solution '
inputs:
PowerPlatformEnvironment: 'My service connection'
SolutionName: 'Contoso_sample'
SolutionOutputFile: 'C:\Public\Contoso_sample_1_0_0_1_managed.zip'
Managed: true
MaxAsyncWaitTime: 120
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.export-solution.PowerPlatformExportSolution@2
displayName: 'Power Platform Export Solution '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
SolutionName: 'Contoso_sample'
SolutionOutputFile: 'C:\Public\Contoso_sample_1_0_0_1_managed.zip'
Managed: true
MaxAsyncWaitTime: 120
ExportAutoNumberingSettings: true
ExportCalendarSettings: true
ExportCustomizationSettings: true
ExportEmailTrackingSettings: true
ExportGeneralSettings: true
ExportIsvConfig: true
ExportMarketingSettings: true
ExportOutlookSynchronizationSettings: true
ExportRelationshipRoles: true
ExportSales: true
매개 변수(내보내기)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
솔루션을 업그레이드할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
PowerPlatformSPN Power Platform 서비스 주체 |
솔루션을 업그레이드할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
SolutionName 솔루션 이름 |
(필수) 내보낼 솔루션의 이름입니다. 항상 표시 이름이 아닌 솔루션 이름을 사용합니다. |
SolutionOutputFile 솔루션 출력 파일 |
(필수) 원본 환경으로 내보낼 solution.zip 파일의 경로 및 파일 이름입니다(예: $(Build.ArtifactStagingDirectory)$(SolutionName).zip). 참고: 변수를 사용하면 파이프라인의 다양한 부분에 주요 데이터를 편리하게 가져올 수 있습니다. 전체 목록은 사전 정의된 변수 사용을 참조하십시오. |
AsyncOperation 비동기 내보내기 |
선택한 경우(true) 내보내기 작업이 비동기 일괄 작업으로 수행됩니다. 비동기를 선택하면 MaxAsyncWaitTime에 도달할 때까지 폴링하고 기다립니다. |
MaxAsyncWaitTime 최대 대기 시간 |
비동기 작업의 최대 대기 시간(분). 기본값은 60분(1시간)이며, 작업에 대한 Azure DevOps 기본값과 동일합니다. |
Managed 관리형으로 내보내기 |
선택한 경우(true) 솔루션을 관리형 솔루션으로 내보냅니다. 그렇지 않으면 관리되지 않는 솔루션으로 내보냅니다. |
ExportAutoNumberingSettings 자동 번호 지정 설정 내보내기 |
자동 번호 지정 설정을 내보냅니다(true|false). |
ExportCalendarSettings 일정 설정 내보내기 |
일정 설정을 내보냅니다(true|false). |
ExportCustomizationSettings 사용자 지정 설정 내보내기 |
사용자 지정 설정을 내보냅니다(true|false). |
ExportEmailTrackingSettings 이메일 추적 설정 내보내기 |
이메일 추적 설정을 내보냅니다(true|false). |
ExportGeneralSettings 일반 설정 내보내기 |
일반 설정을 내보냅니다(true|false). |
ExportIsvConfig ISV 구성 내보내기 |
ISV 구성을 내보냅니다(true|false). |
ExportMarketingSettings 마케팅 설정 내보내기 |
마케팅 설정을 내보냅니다(true|false). |
ExportOutlookSynchronizationSettings Outlook 동기화 설정 내보내기 |
Outlook 동기화 설정을 내보냅니다(true|false). |
ExportRelationshipRoles 관계 역할 내보내기 |
관계 역할을 내보냅니다(true|false). |
ExportSales 영업 내보내기 |
영업을 내보냅니다(true|false). |
Power Platform 압축해제 솔루션
압축 솔루션 파일을 가져와 원본 제어 시스템에서 좀 더 쉽게 읽고 관리할 수 있도록 여러 XML 파일 및 기타 파일로 분해합니다.
YAML 코드 조각(압축 풀기)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.unpack-solution.PowerPlatformUnpackSolution@2
displayName: 'Power Platform Unpack Solution '
inputs:
SolutionInputFile: 'C:\Public\Contoso_sample_1_0_0_1_managed.zip'
SolutionTargetFolder: 'C:\Public'
SolutionType: Both
매개 변수(압축 풀기)
매개 변수 | 설명 |
---|---|
SolutionInputFile 솔루션 입력 파일 |
(필수) 압축해제할 solution.zip 파일의 경로 및 파일 이름입니다. |
SolutionTargetFolder 솔루션을 압축해제할 대상 폴더 |
(필수) 솔루션을 압축해제하려는 경로 및 대상 폴더입니다. |
SolutionType 솔루션 유형 |
(필수) 압축해제하려는 솔루션 유형입니다. 옵션은 관리되지 않음(권장), 관리됨, 둘 모두입니다. |
Power Platform 압축 솔루션
원본 제어로 표시되는 솔루션을 다른 환경으로 가져올 수 있는 solution.zip 파일로 압축합니다.
YAML 코드 조각(팩)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.pack-solution.PowerPlatformPackSolution@2
displayName: 'Power Platform Pack Solution '
inputs:
SolutionSourceFolder: 'C:\Public'
SolutionOutputFile: 'Contoso_sample_1_0_0_1_managed.zip'
SolutionType: Managed
매개 변수(팩)
매개 변수 | 설명 |
---|---|
SolutionOutputFile 솔루션 출력 파일 |
(필수) 솔루션을 압축할 solution.zip 파일의 경로 및 파일 이름입니다. |
SolutionSourceFolder 압축할 솔루션의 원본 폴더 |
(필수) 압축할 솔루션의 경로 및 원본 폴더입니다. |
SolutionType 솔루션 유형 |
(필수) 압축하려는 솔루션 유형입니다. 옵션에는 관리형(권장), 비관리형 및 둘 다 있습니다. |
Power Platform 삭제 솔루션
대상 환경에서 솔루션을 삭제합니다.
YAML 코드 조각(삭제)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.delete-solution.PowerPlatformDeleteSolution@2
displayName: 'Power Platform Delete Solution '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
SolutionName: 'Contoso_sample'
매개 변수(삭제)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
솔루션을 삭제할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
PowerPlatformSPN Power Platform 서비스 주체 |
솔루션을 삭제할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
SolutionName 솔루션 이름 |
(필수) 삭제할 솔루션의 이름. 항상 표시 이름이 아닌 솔루션 이름을 사용합니다. |
Power Platform 사용자 지정 항목 게시
환경의 모든 사용자 지정을 게시합니다.
YAML 코드 조각(게시)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.publish-customizations.PowerPlatformPublishCustomizations@2
displayName: 'Power Platform Publish Customizations '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
매개 변수(게시)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
사용자 지정을 게시할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
PowerPlatformSPN Power Platform 서비스 주체 |
사용자 지정을 게시할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
Power Platform 솔루션 버전 설정
솔루션 버전을 업데이트합니다.
YAML 코드 조각(버전)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.set-solution-version.PowerPlatformSetSolutionVersion@2
displayName: 'Power Platform Set Solution Version '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
SolutionName: 'Contoso_sample'
SolutionVersionNumber: 1.0.0.0
매개 변수(버전)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
솔루션 버전을 설정할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
PowerPlatformSPN Power Platform 서비스 주체 |
솔루션 버전을 설정할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
SolutionName 솔루션 이름 |
(필수) 버전을 설정할 솔루션의 이름입니다. 항상 표시 이름이 아닌 솔루션 이름을 사용합니다. |
SolutionVersionNumber 솔루션 버전 번호 |
(필수) 설정하려는 버전 번호입니다. |
버전 번호는 파이프라인에서 하드코딩될 수 있지만 BuildId와 같은 Azure DevOps 파이프라인 변수를 사용하는 것이 좋습니다. 이것은 $(Year:yyyy)-$(Month:MM)-$(Day:dd)-$(rev:rr)-3과 같이 "옵션" 탭에서 버전 번호의 정확한 모양을 정의하는 옵션을 제공합니다
이 정의는 다음을 사용하여 버전 번호 속성을 설정하여 솔루션 버전 설정 작업에서 사용할 수 있습니다. $(Build.BuildId) 하드 코딩 대신 20200824.0.0.2.
또는 Powershell 인라인 작업 스크립트 $(Get-Date -Format yyyy.MM.dd.HHmm) 출력은 SolutionVersion이라는 이름의 빈 변수를 Write-Host("##vso[task.setvariable variable=SolutionVersion;]$version")로 설정하고 솔루션을 설정합니다. 솔루션 버전을 $(SolutionVersion)(으)로 설정합니다.
Power Platform 연결 변수 설정
서비스 연결을 단일 정보 소스로 사용하기 위한 사용자 정의 스크립트 작업 액세스를 제공하도록 BuildTools.* 변수를 설정합니다.
YAML 코드 조각(SetConnectionVariables)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.set-connection-variables.PowerPlatformSetConnectionVariables@2
displayName: 'Power Platform Set Connection Variables '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
timeoutInMinutes: 2
retryCountOnTaskFailure: 5
매개 변수(SetConnectionVariables)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
연결 변수를 설정하려는 서비스 엔드포인트입니다. Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
timeoutInMinutes Timeout |
서버에서 작업을 취소하기 전에 작업 실행이 허용되는 최대 시간(분)을 지정합니다. 0 값은 무한 시간 초과를 나타냅니다. |
retryCountOnTaskFailure 작업 실패 시 재시도 횟수 |
작업 실패 시 발생하는 이 작업의 재시도 횟수를 지정합니다. 에이전트가 없는 작업에는 지원되지 않습니다. |
ApplicationId 로그인을 위한 애플리케이션 ID |
(사용자 이름/암호에 필요) 로그인에 사용할 애플리케이션 ID(아래 추가 참고 사항 참조). |
RedirectUri 특정 앱의 리디렉션 URI |
(사용자 이름/암호에 필요) 지정된 앱의 URI를 리디렉션합니다. 앱 ID를 지정할 때 필요합니다. (아래 추가 참고 사항을 참조하세요). |
노트
사용자 이름/암호 인증 유형을 사용하는 경우 애플리케이션 ID 및 리디렉션 Uri가 필요합니다. 이 인증 oauth 문서에는 Dataverse로 인증하기 위해 앱 등록을 생성해야 하는 이유에 대한 설명이 포함되어 있습니다. 사용자 이름/암호 인증을 사용하여 연결하는 경우 연결은 사용자를 대신하여 Dataverse에 연결하는 애플리케이션처럼 작동합니다.
Power Platform 패키지 배포
환경에 패키지를 배포합니다. 단일 솔루션 파일이 아닌 패키지를 배포하면 여러 솔루션, 데이터 및 코드를 환경에 배포할 수 있습니다.
YAML 코드 조각(배포)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.deploy-package.PowerPlatformDeployPackage@2
displayName: 'Power Platform Deploy Package '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
PackageFile: 'C:\Users\Public\package.dll'
MaxAsyncWaitTime: 120
매개 변수(배포)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
패키지를 배포할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
PowerPlatformSPN Power Platform 서비스 주체 |
패키지를 배포할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. 추가 정보: Power Platform 만들기 환경에서 BuildTools.EnvironmentUrl 을 참고하세요. |
PackageFile 패키지 파일 |
(필수) 패키지 파일 어셈블리(.dll)의 경로 및 파일 이름. |
MaxAsyncWaitTime 최대 대기 시간 |
비동기 작업의 최대 대기 시간(분). 기본값은 60분(1시간)이며, 작업에 대한 Azure DevOps 기본값과 동일합니다. |
환경 관리 작업
공통 환경 수명주기 관리(ELM) 작업을 자동화합니다.
Power Platform 환경 만들기
새 환경을 만듭니다. 새 환경을 만들면 자동으로 BuildTools.EnvironmentUrl
도 생성됩니다.
중요
설정한 경우 BuildTools.EnvironmentUrl
이 파이프라인에서 후속 작업의 기본 서비스 연결로 사용됩니다. 이 문서에서 설명하는 각 작업은 BuildTools.EnvironmentUrl
이 설정되지 않은 경우 서비스 연결에서 끝점만 사용합니다.
새로운 환경는 라이선스나 용량이 추가 환경을 생성할 수 있는 경우에만 프로비저닝될 수 있습니다. 생산 능력을 보는 방법에 대한 자세한 내용은 생산 능력 페이지 세부 사항을 참조하십시오.
YAML 코드 조각(환경 만들기)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.create-environment.PowerPlatformCreateEnvironment@2
displayName: 'Power Platform Create Environment '
inputs:
PowerPlatformEnvironment: 'My service connection'
DisplayName: 'First Coffee test'
DomainName: firstcoffee
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.create-environment.PowerPlatformCreateEnvironment@2
displayName: 'Power Platform Create Environment '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
DisplayName: 'First Coffee prod'
EnvironmentSku: Production
AppsTemplate: 'D365_CustomerService,D365_FieldService'
LocationName: canada
LanguageName: 1036
CurrencyName: ALL
DomainName: firstcoffee
매개 변수(환경 만들기)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
환경을 만들 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
환경을 만들 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
DisplayName 표시 이름 |
(필수) 작성된 환경의 표시 이름입니다. |
LocationName 배포 지역 |
(필수) 환경을 만들어야 하는 지역입니다. |
EnvironmentSku 환경 유형 |
(필수) 배포할 인스턴스 유형입니다. 옵션은 Sandbox, Production, Trial, SubscriptionBasedTrial입니다. |
AppsTemplate 앱 |
비 체험 환경 유형의 경우 지원되는 앱은 D365_CustomerService, D365_FieldService, D365_ProjectServiceAutomation 및 D365_Sales입니다. |
CurrencyName 통화 |
(필수) 작성된 환경의 기본 통화입니다. 환경이 생성된 후에는 통화를 업데이트할 수 없습니다. |
LanguageName Language |
(필수) 환경에서의 기본 언어입니다. |
DomainName 도메인 이름 |
(필수) URL의 일부를 구성하는 환경별 문자열입니다. 예를 들어 URL이 https://powerappsbuildtasks.crm.dynamics.com/ 인 환경의 경우 도메인 이름은 'powerappsbuildtasks'입니다. 참고: 이미 사용 중인 도메인 이름을 입력하면 작업는 도메인 이름에 0부터 시작하는 숫자 값을 추가합니다. 위의 예에서 URL은 |
Power Platform 환경 삭제
환경을 삭제합니다.
YAML 코드 조각(환경 삭제)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.delete-environment.PowerPlatformDeleteEnvironment@2
displayName: 'Power Platform Delete Environment '
inputs:
PowerPlatformEnvironment: 'My service connection'
매개 변수(환경 삭제)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
환경을 삭제할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
환경을 삭제할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
Power Platform 사용자 할당
지정된 보안 역할이 있는 대상 환경에 사용자를 할당합니다.
YAML 코드 조각(AssignUser-env)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.assign-user.PowerPlatformAssignUser@2
displayName: 'Power Platform Assign User '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
User: EnvironmentUsername
Role: 'Environment Maker'
ApplicationUser: true
매개 변수(AssignUser-env)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
사용자를 할당할 환경의 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
User Power Platform 사용자 이름 |
대상 환경에 할당할 Microsoft Entra 개체 ID 또는 사용자의 기본 이름입니다. |
Role 보안 역할 이름 또는 ID |
사용자에게 할당할 보안 역할 이름 또는 ID입니다. |
ApplicationUser Power Platform 애플리케이션 사용자 이름 |
입력 사용자가 애플리케이션 사용자인지 여부를 지정합니다(true|false). |
Power Platform 환경 초기화
환경을 초기화합니다.
YAML 코드 조각(환경 초기화)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.reset-environment.PowerPlatformResetEnvironment@2
displayName: 'Power Platform Reset Environment '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
CurrencyName: ALL
Purpose: 'Reset to PointInTime'
AppsTemplate: 'D365_CustomerService,D365_FieldService'
매개 변수(환경 초기화)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
환경을 재설정할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
환경을 재설정할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
Power Platform 환경 백업
환경을 백업합니다.
YAML 코드 조각(환경 백업)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.backup-environment.PowerPlatformBackupEnvironment@2
displayName: 'Power Platform Backup Environment '
inputs:
PowerPlatformEnvironment: 'My service connection'
BackupLabel: 'Full backup - $(Build.BuildNumber)'
매개 변수(환경 백업)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
환경을 백업할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
환경을 백업할 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
BackupLabel 백업 레이블 |
(필수) 백업에 할당할 레이블입니다. |
Power Platform 환경 복사
환경을 대상 환경에 복사합니다. 전체 및 최소의 두 가지 사본 유형을 사용할 수 있습니다. 전체 사본에는 데이터 및 솔루션 메타데이터(사용자 지정)가 모두 포함되는 반면, 최소 사본에는 실제 데이터가 아닌 솔루션 메타데이터만 포함됩니다.
YAML 조각 복사(환경 복사)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.copy-environment.PowerPlatformCopyEnvironment@2
displayName: 'Power Platform Copy Environment '
inputs:
PowerPlatformEnvironment: 'My service connection'
TargetEnvironmentUrl: 'https://contoso-test.crm.dynamics.com'
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.copy-environment.PowerPlatformCopyEnvironment@2
displayName: 'Power Platform Copy Environment '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
TargetEnvironmentUrl: 'https://contoso-test.crm.dynamics.com'
CopyType: MinimalCopy
OverrideFriendlyName: true
FriendlyName: 'Contoso Test'
DisableAdminMode: false
매개 변수(환경 복사)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
복사할 원본 환경의 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
복사할 원본 환경의 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
TargetEnvironmentUrl 대상 환경 URL |
(필수) 복사할 대상 환경의 URL입니다. |
CopyType 복사 유형 |
수행할 복사의 유형: FullCopy 또는 MinimalCopy |
OverrideFriendlyName 식별 이름 재정의 |
대상 환경의 식별 이름을 다른 이름으로 변경합니다(true|false). |
FriendlyName 식별 이름 |
대상 환경의 식별 이름입니다. |
DisableAdminMode 관리자 모드 사용 중지 |
관리 모드 비활성화 여부입니다(true|false). |
Power Platform 환경 복원
환경을 지정된 백업으로 복원합니다.
YAML 코드 조각(환경 복원)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.restore-environment.PowerPlatformRestoreEnvironment@2
displayName: 'Power Platform Restore Environment '
inputs:
PowerPlatformEnvironment: 'My service connection'
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
TargetEnvironmentUrl: 'https://contoso-test.crm.dynamics.com'
RestoreLatestBackup: false
RestoreTimeStamp: '12/01/2022 09:00'
FriendlyName: 'Contoso Test'
매개 변수(환경 복원)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformEnvironment Power Platform 환경 URL |
복원할 원본 환경의 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
복원할 원본 환경의 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
RestoreLatestBackup 복원할 최신 백업 |
최신 백업을 복원할지 또는 RestoreTimeStamp를 제공할지 여부(true|false). |
RestoreTimeStamp 백업 날짜/시간 |
'mm/dd/yyyy hh:mm' 형식 또는 문자열 '최신'으로 설정된 백업의 날짜/시간입니다. |
TargetEnvironmentUrl 대상 환경 URL |
(필수) 복원할 대상 환경의 URL입니다. |
FriendlyName 복원된 환경의 이름입니다 |
(선택 사항)복원된 환경의 이름입니다. |
DisableAdminMode 관리자 모드 사용 중지 |
관리 모드 비활성화 여부입니다(true|false). |
Dataverse 데이터 내보내기
제공된 스키마를 사용하여 환경에서 데이터를 내보냅니다.
YAML 코드 조각(exportdata-env)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.export-data.PowerPlatformExportData@2
displayName: 'Power Platform Export Data '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
SchemaFile: 'C:\tempschema.xml'
DataFile: exportdata.zip
Overwrite: true
매개 변수(exportdata-env)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
데이터를 내보내려는 환경에 대한 서비스 엔드포인트(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
SchemaFile 스키마 XML 파일 이름 |
스키마 XML 파일 이름입니다. 구성 마이그레이션 도구를 사용하여 생성할 수 있습니다. |
DataFile 데이터 파일 이름 |
내보낼 데이터의 파일 이름(zip 파일). |
Overwrite 콘텐츠 덮어쓰기 |
Power Pages 덮어쓸 웹 사이트 콘텐츠(true|false). |
Dataverse 데이터 가져오기
데이터를 환경으로 가져옵니다.
YAML 코드 조각(importdata-env)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.import-data.PowerPlatformImportData@2
displayName: 'Power Platform Import Data '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
DataFile: 'C:\Data\Import.zip'
매개 변수(importdata-env)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
데이터를 가져오려는 환경에 대한 서비스 엔드포인트(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
DataFile 데이터 파일 이름 |
압축된 zip의 파일 이름) 가져올 데이터 파일 또는 가져올 data-schema.xml 및 data.xml이 있는 폴더. |
Power Pages 관리 작업
Power Pages 웹사이트 작업을 위한 작업.
Power Platform 다운로드 PAPortal
현재 Dataverse 환경에서 Power Pages 웹 사이트 콘텐츠를 다운로드합니다.
YAML 코드 조각(download-paportal)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.download-paportal.PowerPlatformDownloadPaportal@2
displayName: 'Power Platform Download PAPortal '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
DownloadPath: 'C:\portals'
WebsiteId: 'f88b70cc-580b-4f1a-87c3-41debefeb902'
Overwrite: true
매개 변수(download-paportal)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
콘텐츠를 다운로드하려는 환경의 서비스 끝점(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
WebsiteId 포털 웹 사이트 ID |
다운로드할 Power Pages 웹 사이트 ID입니다. |
Overwrite 콘텐츠 덮어쓰기 |
Power Pages 덮어쓸 웹 사이트 콘텐츠(true|false). |
ModelVersion 사이트 데이터 모델 |
업로드할 사이트 데이터가 표준(1 ) 또는 향상된 데이터 모델(2 )을 사용할지 여부를 나타냅니다. 기본값은 '1'입니다. |
Power Platform 업로드 PAPortal
Power Pages 웹 사이트 콘텐츠를 현재 Dataverse 환경에 업로드합니다.
YAML 코드 조각(upload-paportal)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.upload-paportal.PowerPlatformUploadPaportal@2
displayName: 'Power Platform Upload PAPortal '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
UploadPath: 'C:\portals\starter-portal'
매개 변수(upload-paportal)
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
콘텐츠를 업로드하려는 환경에 대한 서비스 엔드포인트(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
UploadPath 콘텐츠 경로 업로드 |
업로드할 Power Pages 웹 사이트 콘텐츠가 있는 경로입니다. |
ModelVersion 사이트 데이터 모델 |
업로드할 사이트 데이터가 표준(1 ) 또는 향상된 데이터 모델(2 )을 사용할지 여부를 나타냅니다. 기본값은 '1'입니다. |
Power Platform 작업용 카탈로그(프리뷰)
이러한 작업은 Power Platform의 카탈로그에 대해 작업을 수행하며 다음을 포함합니다.
노트
현재 Power Platform용 카탈로그 작업은 프리뷰 릴리스입니다.
카탈로그 항목 설치
대상 환경에 Catalog 항목을 설치합니다.
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
콘텐츠를 업로드하려는 환경에 대한 서비스 엔드포인트(예: https://powerappsbuildtools.crm.dynamics.com ). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
Environment 대상 환경 URL |
(필수) 이 작업이 대상으로 하는 환경 URL입니다. |
CatalogItemId 설치할 카탈로그 항목 ID |
(필수) 대상 환경에 설치할 카탈로그 항목입니다. |
TargetEnvironmentUrl 대상 환경 URL |
(필수) 카탈로그 항목을 설치할 대상 환경의 URL입니다(예: "https://YourOrg.crm.dynamics.com"). |
PollStatus 폴링 상태 확인 |
(선택 사항) 요청 상태를 확인하기 위해 폴링합니다(true|false). |
매개 변수(카탈로그 설치)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools-DEV.install-catalog.PowerPlatformInstallCatalog@2
displayName: 'Power Platform Install Catalog '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
Environment: '$(BuildTools.EnvironmentUrl)'
CatalogItemId: '00000000-0000-0000-0000-000000000001'
TargetEnvironmentUrl: 'https://test.crm.dynamics.com/'
PollStatus: true
카탈로그 승인 제출
Catalog 승인 요청을 제출합니다.
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
콘텐츠를 업로드하려는 환경에 대한 서비스 엔드포인트(예: "https://powerappsbuildtools.crm.dynamics.com"). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
Environment 대상 환경 URL |
(필수) 이 작업이 대상으로 하는 환경 URL입니다. |
CatalogSubmissionFile 카탈로그 제출 파일 |
(필수) 카탈로그 제출 파일의 경로와 파일 이름을 지정합니다. |
UsePackageSolutionZipFile 파일 유형 |
파일 유형: 패키지 또는 솔루션 zip 파일. |
SolutionZipFile 솔루션 zip 파일 이름 |
솔루션 zip 파일의 경로 및 파일 이름을 지정하십시오. |
PollStatus 폴링 상태 확인 |
(선택 사항) 요청 상태를 확인하기 위해 폴링합니다(true|false). |
매개 변수(카탈로그 제출)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools-DEV.submit-catalog.PowerPlatformSubmitCatalog@2
displayName: 'Power Platform Submit Catalog '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
Environment: '$(BuildTools.EnvironmentUrl)'
CatalogSubmissionFile: submission.json
UsePackageSolutionZipFile: true
FileType: SolutionZipFile
SolutionZipFile: solution.zip
PollStatus: true
카탈로그 요청 상태
카탈로그 설치/제출 요청의 상태를 가져옵니다.
매개 변수 | 설명 |
---|---|
authenticationType 인증의 유형 |
(SPN에 필요) 사용자 이름/암호 연결에 PowerPlatformEnvironment 또는 서비스 주체/클라이언트 암호 연결에 PowerPlatformSPN을 지정합니다. |
PowerPlatformSPN Power Platform 서비스 주체 |
콘텐츠를 업로드하려는 환경에 대한 서비스 엔드포인트(예: "https://powerappsbuildtools.crm.dynamics.com"). Power Platform 연결 유형을 사용하여 프로젝트 설정의 서비스 연결에 정의되어 있습니다. |
Environment 대상 환경 URL |
(필수) 이 작업이 대상으로 하는 환경 URL입니다. |
TrackingId 요청 추적 ID |
(필수) 요청 추적 ID. |
RequestType 요청 유형 |
(필수) 요청 유형. (값: 설치 | 제출). |
매개 변수(카탈로그 상태)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools-DEV.catalog-status.PowerPlatforCatalogStatus@2
displayName: 'Power Platform Catalog Status '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: Build
Environment: '$(BuildTools.EnvironmentUrl)'
TrackingId: '00000000-0000-0000-0000-000000000002'
RequestType: Submit
빌드 및 릴리스 파이프라인
빌드 도구를 사용하여 수행할 수 있는 작업을 확인했으므로 이러한 도구를 빌드 및 릴리스 파이프라인에 적용하는 방법을 살펴 보겠습니다. 개념적 개요는 아래와 같습니다. 이제 다음 하위 섹션에서 빌드 도구 작업을 사용하여 파이프라인 구현에 대한 세부 정보를 살펴 보겠습니다.
이러한 파이프라인 만들기에 대해 자세히 알아보고 실제로 Microsoft Power Platform Build Tools를 사용하여 실습 파이프라인 제작을 수행하려면 GitHub에서 다운로드할 수 있는 build tools labs 랩을 완료합니다.
Azure Pipelines에 대한 추가 정보: Azure Pipelines 사용
빌드 파이프라인: 개발 환경(DEV)에서 솔루션 내보내기
다음 그림은 개발 환경에서 솔루션을 내보내는 파이프라인에 추가할 수 있는 빌드 도구 작업을 보여줍니다.
빌드 파이프라인: 관리형 솔루션 구축
다음 그림은 관리형 솔루션을 구축하는 파이프라인에 추가할 수 있는 빌드 도구 작업을 보여줍니다.
릴리스 파이프라인 : 프로덕션 환경(PROD)에 배포
다음 그림은 프로덕션 환경에 배포하는 파이프라인에 추가할 수 있는 빌드 도구 작업을 보여줍니다.