Power Pages 的 Microsoft Power Platform CLI 支持

Microsoft Power Platform CLI(命令行接口)是一个简单的一站式开发者命令行接口,使开发者和应用创建者能够创建代码组件。

Microsoft Power Platform CLI 工具是走向综合应用程序生命周期管理 (ALM) 故事的第一步,让企业开发人员和 ISV 可以快速、高效地创建、构建、调试和发布他们的扩展和自定义。 有关更多信息,请转到什么是 Microsoft Power Platform CLI?

借助此功能,Microsoft Power Platform CLI 可以支持 Power Pages 站点配置的 CI/CD(持续集成/持续部署)。 现在,您可以使用 Microsoft Power Platform CLI 将网站配置签入源代码管理并将网站配置移动到任何环境。

备注

  • 从 Power Platform CLI 版本 1.9.8 开始,此功能正式发布。 要了解如何安装最新版本,请转到安装 Microsoft Power Platform CLI
  • 使用 Power Platform CLI 版本 1.32 时,pac powerpages 命令更改为了 pac pages。 使用 pac cli 版本 1.27 时,pac paportal 命令已更改为 pac powerpages。 PowerPages 和 PaPortal 都将继续正常工作,但我们建议今后使用 Pages。

为什么要使用 Microsoft Power Platform CLI 进行网站开发?

借助 Microsoft Power Platform CLI,您现在可以通过更改网站内容来使用类似于脱机的功能进行网站自定义。 保存所有自定义或更改后,可以将网站配置上传回 Microsoft Dataverse。 当您使用 Microsoft Power Platform CLI 下载网站内容时,内容采用 YAML 和 HTML 格式进行结构化,以便于自定义,从而实现专业开发体验。

以下是门户通过 Microsoft Power Platform CLI 支持从中受益的功能列表:

易于使用

  • 支持在本地文件系统中下载/上传网站配置数据

  • 基于现有 Microsoft Power Platform CLI 工具构建。

应用程序生命周期管理 (ALM)

  • 跟踪对组织内的网站配置所做的更改

  • 跨组织或租户移动配置文件

专业开发和企业支持

  • 帮助与任何源代码管理工具无缝集成,如“git”

  • 轻松设置 CI/CD 管道

安装 Microsoft Power Platform CLI

要获取分步说明,请参阅安装 Microsoft Power Platform CLI

支持的表

门户对 Microsoft Power Platform CLI 的支持仅限于下表。

adx_ad

adx_adplacement

adx_blog

adx_blogpost

adx_botconsumer

adx_communityforum

adx_communityforumaccesspermission

adx_contentsnippet

adx_entityform

adx_entityformmetadata

adx_entitylist

adx_entitypermission

adx_forumthreadtype

adx_pagetemplate

adx_poll

adx_polloption

adx_pollplacement

adx_portallanguage

adx_publishingstate

adx_redirect

adx_shortcut

adx_sitemarker

adx_sitesetting

adx_tag

adx_urlhistory

adx_webfile

adx_webform

adx_webformmetadata

adx_webformstep

adx_weblink

adx_weblinkset

adx_webpage

adx_webpageaccesscontrolrule

adx_webrole

adx_website

adx_websiteaccess

adx_websitebinding(仅下载)

adx_websitelanguage

adx_webtemplate

注释

重要提示

  • 不支持通过 Microsoft Power Platform CLI 对自定义表和门户模板特定表(例如博客、社区或创意门户)进行自定义。
  • 广告(adx_ad)记录的图像文件附件不会通过 Power Platform CLI 下载。 作为一种解决方法,请使用图像 URL 字段,或者将复制字段中的 HTML 引用添加到包含图像文件的 Web 文件记录中。

为门户安装和验证 Microsoft Power Platform CLI

要了解如何安装 Microsoft Power Platform CLI,请转到安装 Microsoft Power Platform CLI

安装 Microsoft Power Platform CLI 后,打开命令提示符,运行 pac 来验证输出是否包含“paportal”- Power Apps 门户的命令。

在 Microsoft Power Platform CLI 中确认 paportal 命令。

门户的 Microsoft Power Platform CLI 命令

门户的 Microsoft Power Platform CLI 命令是“paportal”

以下各节提供了有关“paportal”命令的不同属性的更多详细信息。

参数设置

属性名称 描述 示例
list 列出当前 Dataverse 环境中的所有门户网站。

您可以添加 -v 参数,来指示站点是否使用标准或增强数据模型
pac pages list
download 从当前 Dataverse 环境下载门户网站内容。 它具有以下参数:
- path:下载网站内容的路径(别名:-p)
- webSiteId:要下载的门户网站 ID(别名:-id)
- overwrite:(可选)true - 覆盖现有内容;false - 如果文件夹已经有网站内容则失败(别名:-o)
- modelVersion12 指示要下载的站点数据是否使用标准(1)或 增强的数据模型 (2)。
pac pages download --path "C:\portals" --webSiteId f88b70cc-580b-4f1a-87c3-41debefeb902 --modelVersion 2
upload 将门户网站内容上载到当前的 Dataverse 环境。 它具有以下参数:
- path:存储网站内容的路径(别名:-p)
- deploymentProfile:上传门户数据,其中包含通过 deployment-profiles/[profile-name].deployment.yaml 文件中的配置文件变量定义的环境详细信息
- modelVersion12 指示要上传的网站数据是否使用标准(1)或 增强的数据模型 (2)。
- forceUploadAll将所有 本地文件推送到环境。 当你认为远程状态已损坏、同步不足或上次下载来自其他分支时,请使用此选项。
pac pages upload --path "C:\portals\starter-portal" --deploymentProfile "profile-name" --modelVersion 2

备注

  • 环境 A 下载门户并将其上传到 环境 B 时,PAC CLI 将执行 完整上传。 发生此行为的原因是更改跟踪使用 清单文件,而清单文件不会跨环境传递状态信息。
  • 仅当下载和上传操作在同一环境中进行时,才支持增量上传—仅上传修改的文件。 在这种情况下,PAC CLI 会检测本地更改,并仅上传更新的文件。 若要详细了解更改跟踪的工作原理,请参阅 清单文件
  • 在这些情况下使用 --forceUploadAll 。 (此参数当前为仅限 CLI。Azure DevOps 任务尚未浮出水面。
    • 管道状态偏移(您重定基础或择优挑选了提交,因此最后的服务器状态不再与您的分支匹配)。
    • 可疑的增量失败(例如,只有部分更改在正常的 upload 之后出现)。

使用部署配置文件

deploymentProfile 切换允许您以 YAML 格式为环境定义一组变量。 例如,您可以有不同的部署配置文件(如开发、测试、生产),这些配置文件在配置文件中定义了不同的架构详细信息。

如果您在创建测试配置文件,您可以在 deployment-profiles 下创建名为“test.deployment.yml”的文件(即 <profileTag>.deployment.yml)。 然后,您可以使用标记 (<profileTag>) 运行命令来使用此配置文件:

pac pages upload --path "C:\portals\starter-portal" --deploymentProfile test --modelVersion 2

在此文件中,您可以有表(实体)名称和表 ID、属性列表以及在使用 deploymentProfile 参数上载门户配置时要替代的值。

此外,您可以使用 OS 变量来访问操作系统的环境变量。

以下是具有唯一架构详细信息的“test.deployment.yml”配置文件 YAML 文件的示例:

adx_sitesetting:
    - adx_sitesettingid: 4ad86900-b5d7-43ac-1234-482529724970
      adx_value: ${OS.FacebookAppId} 
      adx_name: Authentication/OpenAuth/Facebook/AppId
    - adx_sitesettingid: 5ad86900-b5d7-43ac-8359-482529724979
      adx_value: contoso_sample
      adx_name: Authentication/OpenAuth/Facebook/Secret
adx_contentsnippet:
    - adx_contentsnippetid: b0a1bc03-0df1-4688-86e8-c67b34476510
      adx_name: PowerBI/contoso/sales
      adx_value:  https://powerbi.com/group/contoso/sales

备注

要了解除门户之外在 CLI 中使用的所有命令,请转到 Microsoft Power Platform CLI 中的常见命令

清单文件

使用 pac pages 下载 CLI 命令时,下载网站内容的同时还会生成两个清单文件。

  • 环境清单文件 (org-url-manifest.yml)
  • 删除跟踪清单文件 (manifest.yml)

环境清单文件 (org-url-manifest.yml)

每次运行 pac 页面下载 命令时都会生成环境清单文件。

每次下载后,PAC CLI 工具都会读取现有的环境清单文件并更新环境中删除的条目,如果环境清单文件不存在,则创建文件。

运行 pac pages upload 命令来上传门户网站内容时。 它会读取环境清单文件并识别自上次下载以来所做的更改,并仅上载更新的内容。 这将帮助优化上载过程,因为仅上载更新的网站内容,而不是通过每个上载命令上载所有内容。

当环境清单文件连接到同一个环境(环境 URL 与文件名匹配)时,它是只读的,以避免意外更改。

备注

  • 环境清单文件未设计为在将网站部署到不同环境时跟踪更改。
  • 环境清单文件旨在供开发人员在其开发人员环境中进行本地部署,应被添加到 git 忽略列表中。

删除跟踪清单文件 (manifest.yml)

此文件用于跟踪从环境中删除的记录。

使用 pac pages 下载 命令下载网站内容时,这会将 环境清单文件(org-url-manifest.yml) 中删除的记录添加到manifest.yml文件。 因此,使用 pac 页面上传 命令上传网站内容时,它会从环境中删除文件(甚至到其他环境)。 此文件不会被删除,无论您连接到哪个环境,它都会被使用。 将更改推送到源代码管理时需要考虑此文件,以便考虑删除目标环境中的项目。

备注

若要删除一个环境中的网站内容记录,并使用 PAC CLI 删除另一环境中相同的内容记录,需要在删除网站记录内容之前之后运行 pac 页面下载命令。 manifest.yml将跟踪这些更改,并在运行 pac pages upload 命令时删除目标环境中的相应记录。

使用 Visual Studio Code 扩展

您还可以使用 VS Code 扩展 Power Platform VS Code 扩展支持 IntelliSense 中的内置 Liquid 语言、代码完成协助、提示,以及使用 VS Code 集成终端与 Microsoft Power Platform CLI 交互。 详细信息:使用 Visual Studio Code 扩展(预览)

更多注意事项

  • 如果您的文件路径超过最大路径长度限制,将报告错误。 详细信息:Windows 中的最大路径长度限制
  • 对于重复的记录,如重复的网页名称,Microsoft Power Platform CLI 会创建两个不同的文件夹—一个使用网页名称,另一个使用带有哈希代码前缀的相同名称。 例如,“My-page”和“My-page-hash-code”。

后续步骤

教程:将 Microsoft Power Platform CLI 与门户结合使用

另请参阅