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@0
  displayName: 'Power Platform Tool Installer'
# Installs specific versions of the Power Platform Build Tools
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.tool-installer.PowerPlatformToolInstaller@0
  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@0
  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@0
  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@0
  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@0
  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 검사기 끝점
UseDefaultPACheckerEndpointfalse인 경우 필요합니다. 사용할 다른 지역을 지정할 수 있습니다. 예를 들어 https://japan.api.advisor.powerapps.com. 사용 가능한 지역 목록은 Power Platform Checker API 사용을 참조하세요.
FileLocation
분석할 파일의 위치
SAS(공유 액세스 서명) URL sasUriFile에서 파일을 참조할 때 필요합니다.

참고: 리포지토리에서 압축을 푼 소스 파일이 아니라 내보낸 솔루션 파일을 참조하는 것이 중요합니다. 관리되는 솔루션 파일과 관리되지 않는 솔루션 파일을 모두 분석할 수 있습니다.

FilesToAnalyzeSasUri
분석할 SAS 파일
FileLocationsasUriFile로 설정된 경우 필요합니다. 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
규칙 집합
(필수) 적용할 규칙 집합을 지정합니다. 다음과 같은 두 규칙 집합을 사용할 수 있습니다.
  • 솔루션 검사기: Power Apps Maker Portal에서 실행되는 것과 동일한 규칙 집합입니다.
  • AppSource: 애플리케이션을 AppSource에 게시하기 전에 인증하는 데 사용되는 확장된 규칙 집합입니다.
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@0
  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@0
  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@0
  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@0
  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@0
  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@0
  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@0
  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@0
  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@0
  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@0
  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@0
  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@0
  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@0
  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@0
  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은 https://powerappsbuildtasks0.crm.dynamics.com/이 될 수 있습니다.

Power Platform 환경 삭제

환경을 삭제합니다.

YAML 코드 조각(환경 삭제)

steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.delete-environment.PowerPlatformDeleteEnvironment@0
  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@0
  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@0
  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@0
  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)에서 솔루션 내보내기

다음 그림은 개발 환경에서 솔루션을 내보내는 파이프라인에 추가할 수 있는 빌드 도구 작업을 보여줍니다.

개발 환경(DEV)에서 솔루션 내보내기.

빌드 파이프라인: 관리형 솔루션 구축

다음 그림은 관리형 솔루션을 구축하는 파이프라인에 추가할 수 있는 빌드 도구 작업을 보여줍니다.

관리형 솔루션 구축.

릴리스 파이프라인 : 프로덕션 환경(PROD)에 배포

다음 그림은 프로덕션 환경에 배포하는 파이프라인에 추가할 수 있는 빌드 도구 작업을 보여줍니다.

프로덕션 환경(PROD)에 배포.

참고 항목

Azure DevOps용 Microsoft Power Platform 빌드 툴