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.27 开始,pac paportal 命令更改为 pac powerpagespaportal 仍然有效,但是我们建议继续使用 powerpages。 这篇文章将很快更新为使用 powerpages 而不是 paportal

为什么要使用 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

annotation

重要提示

  • 使用 Microsoft Power Platform CLI 进行自定义不支持自定义表和门户模板特定表(如博客、社区或观点门户)。
  • 未使用 Power Platform CLI 下载广告 (adx_ad) 记录的图像文件附件。 作为一种解决方法,请使用图像 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”命令的不同属性的更多详细信息。

参数设置

属性名称 说明 示例
列表 列出当前 Dataverse 环境中的所有门户网站。

预览版
您可以添加 -v 参数,来指示站点是否使用标准或增强数据模型
pac paportal list
下载 从当前 Dataverse 环境下载门户网站内容。 它具有以下参数:
- path:将下载网站内容的路径(别名:-p)
- webSiteId:要下载的门户网站 ID(别名:-id)
- overwrite(可选)true - 覆盖现有内容;false - 如果文件夹已经有网站内容则失败(别名:-o)

预览
- modelVersion12 指示要下载的站点数据使用标准 (1) 还是增强数据模型 (2)。
pac paportal download --path "C:\portals" --webSiteId f88b70cc-580b-4f1a-87c3-41debefeb902
上传 将门户网站内容上载到当前的 Dataverse 环境。 它具有以下参数:
- path:存储网站内容的路径(别名:-p)
-deploymentProfile上传包含通过 deployment-profiles/[profile-name].deployment.yaml 文件中的 profile variables 定义的环境详细信息的门户数据

预览
- modelVersion12 指示要上载的站点数据使用标准 (1) 还是增强数据模型 (2)。
pac paportal upload --path "C:\portals\starter-portal" --deploymentProfile "profile-name"

使用部署配置文件

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

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

pac paportal upload --path "C:\portals\starter-portal" --deploymentProfile test

在此文件中,您可以有表(实体)名称和表 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 paportal download CLI 命令下载网站内容时,除了下载网站内容之外,它也将会生成两个清单文件;

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

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

每次运行 pac paportal download 命令时,都会生成环境清单文件。

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

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

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

备注

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

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

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

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

备注

为了在一个环境中删除站点内容记录,同时使用 PAC CLI 删除另一个环境中的相同内容记录,在删除网站记录内容之前之后,您将需要运行 pac paportal download 命令。 manifest.yml 将跟踪这些更改,并在运行 pac paportal 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 与门户结合使用

另请参见