Microsoft Power Platform Build Tools 任务

以下各节介绍了可用的生成任务。 之后,我们将展示一些利用这些任务的示例 Azure 管道。 有关构建工具以及如何下载的信息,请参见用于 Azure Pipelines 的 Microsoft Power Platform Build Tools

帮助程序任务

下面介绍可用的助手任务。

Power Platform 工具安装程序

需要在生成和发布管道中在任何其他 Power Platform Build Tools 任务之前添加一次此任务。 此任务安装智能体运行 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 default Power Platform Build Tools and adds the pac cli to the `PATH` environment variable
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.tool-installer.PowerPlatformToolInstaller@2
  displayName: 'Power Platform Tool Installer'
  inputs:
    AddToolsToPath: true
# 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)。
AddToolsToPath
将工具添加到路径
将 pac cli 添加到 PATH 环境变量。 使你能够从脚本任务中使用 pac cli,而无需手动设置路径。
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 检查器

此任务根据一组最佳实践规则运行对您的解决方案的静态分析检查,以发现在生成解决方案时您可能无意中引入的任何有问题的模式。

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
服务连接
(必需)使用 Power Platform 检查器需要连接到许可的 Microsoft Power Platform 环境。 服务连接使用 Power Platform 连接类型在项目设置下的服务连接中定义。 更多信息:请参见 Power Platform 创建环境下的 BuildTools.EnvironmentUrl

注意:服务主体和用户名/密码身份验证方法可用于检查器任务。 有关如何配置用于此任务的服务主体的详细信息,请参阅为 Power Platform 环境配置服务主体连接

UseDefaultPACheckerEndpoint
使用默认的 Power Platform 检查器终结点
默认情况下(true),检查程序服务的地理位置与您连接的环境使用相同的地理位置。
CustomPACheckerEndpoint
自定义 PAC 检查器终结点
UseDefaultPACheckerEndpointfalse 时需要。 您可以指定要使用的其他地区,例如,https://japan.api.advisor.powerapps.com. 要获取可用地区的列表,请参阅使用 Power Platform 检查器 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
规则集
(必需)指定要应用的规则集。 可以使用以下两个规则集:
  • 解决方案检查器:此规则集与从 Power Apps maker portal 运行的规则集是同一个。
  • AppSource:用于在将应用程序发布到 AppSource 之前对其进行认证的扩展规则集。
ErrorLevel
错误级别
与错误阈值参数结合使用,可定义允许的错误和警告的严重性。 支持的阈值值为 <level>IssueCount,其中 level=Critical、High、Medium、Low 和 Informational。
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
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
转换为托管
已过时。 导入托管解决方案时,系统会将非托管解决方案组件转换为托管解决方案组件。
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
解决方案版本号
(必需)您要设置的版本号。

虽然可以在管道中对版本号进行硬编码,但建议使用 Azure DevOps 管道变量,如 BuildId。 这将提供在“选项”选项卡下定义版本号确切形式的选项,例如:$(Year:yyyy)-$(Month:MM)-$(Day:dd)-$(rev:rr)-3

然后,可以通过将版本号属性设置为 $(Build.BuildId) 而不是硬编码 20200824.0.0.2,来在“设置解决方案版本”任务中使用此定义。

或者,powershell 内联任务脚本 $(Get-Date -Format yyyy.MM.dd.HHmm) 输出设置为作为 Write-Host ("##vso[task.setvariable variable=SolutionVersion;]$version") 的名为 SolutionVersion 的空变量,将解决方案版本设置为 $(SolutionVersion)。

Power Platform 设置连接变量

设置 PowerPlatformSetConnectionVariables.BuildTools.* 变量以提供自定义脚本任务访问权限,以将服务连接用作单一事实来源。

设置了以下变量:

  • PowerPlatformSetConnectionVariables.BuildTools.TenantId
  • PowerPlatformSetConnectionVariables.BuildTools.ApplicationId
  • PowerPlatformSetConnectionVariables.BuildTools.ClientSecret
  • PowerPlatformSetConnectionVariables.BuildTools.DataverseConnectionString

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
指定任务在被服务器取消之前允许执行的最长时间(分钟)。 零值表示无限超时。
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
环境类型
(必填)要部署的实例的类型。 选项有 SandboxProductionTrialSubscriptionBasedTrial
AppsTemplate
应用
对于非试用环境类型,支持的应用为 D365_CustomerService、D365_FieldService、D365_ProjectServiceAutomation 和 D365_Sales。
CurrencyName
货币
(必填)创建的环境的基础货币。 货币在创建环境后无法更新。
LanguageName
语言
(必填)环境中的基本语言。
DomainName
域名
(必填)这是环境特定且构成 URI 一部分的字符串。 例如,对于 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@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 片段 (Reset-env)

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'

参数 (Reset-env)

参数设置 描述
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'
    SkipAuditData: true
    MaxAsyncWaitTime: 60

参数(复制环境)

参数设置 描述
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
易记名称
目标环境的易记名称。
SkipAuditData
SkipAuditData
是否在复制操作期间跳过审核数据。 (true|false)。
MaxAsyncWaitTime
最长等待时间
异步操作的最长等待时间(以分钟为单位);默认值为 60 分钟(1 小时),与任务的 Azure DevOps 默认值相同。

Power Platform 还原环境

将环境还原到给定的备份。

YAML 片段 (Restore-env)

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'

参数 (Restore-env)

参数设置 描述
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" 的备份的日期时间或字符串 "latest"。
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 文件名。 可以使用 Configuration Migration tool 创建。
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 management 任务

使用 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)。

参数 (catalog-install)

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)。

参数 (catalog-submit)

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
请求类型
(必需)请求类型。 (值:安装 | 提交)。

参数 (catalog-status)

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 下载。

有关 Azure Pipelines 的详细信息:使用 Azure Pipelines

生成管道:从开发环境 (DEV) 中导出解决方案

下图显示了您可以添加到从开发环境导出解决方案的管道中的生成工具任务。

从开发环境 (DEV) 中导出解决方案。

生成管道:生成托管解决方案

下图显示了您可以添加到生成托管解决方案的管道中的生成工具任务。

生成托管解决方案。

发布管道:部署到生产环境 (PROD)

下图显示了您可以添加到部署到生产环境的管道中的生成工具任务。

部署到生产环境 (PROD)。

另请参阅

用于 Azure DevOps 的 Microsoft Power Platform Build Tools