Power Platform 中的管道概述

Power Platform 中的管道旨在通过将 ALM 自动化和持续集成和持续交付 (CI/CD) 功能引入服务,以一种对所有制作者、管理员和开发人员更容易接受的方式,针对 Power Platform 和 Dynamics 365 客户普及应用程序生命周期管理 (ALM)。

部署管道功能示例

管道可显著减少以前通过在团队或组织中采用运行状况、自动化 ALM 流程来实现 ROI 所需的工作量和领域知识。

  • 管理员可以轻松地在几分钟(而不是几天或几周)内配置自动部署管道。
  • 制作者具有直观的用户体验,可以轻松部署自己的解决方案。
  • 专业开发人员可以(可选)扩展管道并使用 Power Platform 命令行接口 (CLI) 运行管道。

管理员集中管理和治理管道

借助管道,管理员能够较轻松地大规模集中管理平民主导和专业开发人员主导的项目。 管理员设置适当的保护措施来管理和帮助整个组织的解决方案开发、测试和交付。 其他管理员好处包括:

  • 降低总拥有成本:

    • 管道可显著提高制作者、开发人员和管理员的工作效率。 借助管道,您的业务解决方案能够通过安全且受控的流程以更高质量更快地推向市场。
    • 在组织或团队中实施安全且定制的变更管理流程的工作量最小。
  • 节省时间和金钱:

    • 该系统可以处理繁重的工作和日常维护,因此您无需执行这些操作。
  • 按自己的节奏扩展 ALM:

  • 通过以下各项实现合规性、安全性、监视和自动化目标:

    • 使用基于批准的委派部署保护生产环境。
    • 自定义和审核日志自动保存并易于访问。
    • 现成的分析在中央位置可提供更好的可见性。
    • 能够在管道应用中查看现成的 Power BI 报表或创建自己的报表。 详细信息:模型驱动应用的报告概述
    • 通过管道扩展性和 Power Automate,根据组织的需要定制管道。

制作者运行预配置的管道

管道到位后,制作者只需点击几下即可启动产品内部署。 他们可以直接在其开发环境中执行这些操作。 制作者的其他好处包括:

  • 不需要事先了解 ALM 流程或系统。 平民开发者通常将管道视为一种引导式变更管理流程。
  • 根据目标环境对解决方案部署进行预验证,以防止出错并提高成功率。 例如,在部署之前检测到缺失的依赖项和其他问题,并立即指导制作者采取适当的行动。
  • 预先提供了连接和环境变量,并在部署开始之前对其进行验证。
    • 这有助于确保无需手动执行后处理步骤即可部署应用程序和自动化,并将应用程序和自动化连接到每个环境中的适当数据源。
    • 管理员甚至可以预先配置某些将使用的连接。

开发人员可以使用和扩展管道

专业开发人员现在可以使用管道处理复杂的后台操作,从而提高工作效率。 开发人员可以告诉系统他们想要完成什么,而不是执行实现同一目标所需的各种基本任务。 使用 Power Platform CLI,开发人员可以:

  • 列出管道以查看相关详细信息,例如哪些阶段和环境已准备就绪,可供部署解决方案。
  • 使用一条命令部署解决方案:
    • 借助管道,开发人员只需提供所需的参数,系统便可按照组织策略协调所有端到端部署操作。
    • 无需连接到多个环境、导出解决方案、下载解决方案文件、手动创建连接和填充部署设置文件、导入解决方案或处理以前所需的各种其他任务。

此外,开发人员可以扩展管道并与其他 CI/CD 工具集成。

常见问题解答

管道部署什么?

管道可部署解决方案以及目标环境的配置,如连接、连接引用和环境变量。 解决方案中包含的任何 Power Platform 自定义项都可以使用管道进行部署。 管道或解决方案一般不包含 Dataverse 表内存储的数据。

重要提示

管道中当前不支持 Power BI 仪表板(预览)和 Power BI 数据集(预览)。

为什么我无法从我的环境中看到我的管道?

首先,确保源环境和目标环境正确链接。 您将只能在分配的源环境中查看您的管道,例如您的开发环境。 在配置期间将每个环境链接到管道时,您可以选择开发环境目标环境环境类型。 如果为与管道相关的环境分配了适当的类型,管道将作为一个选项出现在源开发环境中。

管道是否自动存储解决方案备份?

是的。 对于每个部署,托管和非托管解决方案都会自动导出并存储在管道主机中。

自定义可以绕过部署阶段(如 QA)吗?

不包括。 提交部署请求(当制作者从开发环境中选择部署时)后,解决方案即会导出,并且将部署相同的解决方案项目。 同样,系统不会将部署的解决方案重新导出到管道中的后续阶段。 相同的解决方案项目必须按连续顺序通过管道阶段。 系统还会阻止对导出的解决方案项目进行任何篡改或修改。 这可确保自定义无法绕过 QA 环境或您的审批流程。

使用管道是否需要独立许可证?

  • 开发人员环境并不需要是托管环境。 开发人员计划可将其用于开发和测试。
  • 管道主机应是生产环境,但管道主机不必是托管环境。
  • 管道中使用的所有其他环境都必须作为托管环境启用。
  • 所有托管环境都需要授予高级使用权限的许可证。

常见设置示例:

环境用途 环境类型 需要独立许可证
Host 生产
开发 Developer
QA Developer
生产 生产

我可以为部署配置审批吗?

是的。 请参阅委派部署

我可以对不同的管道和阶段使用不同的服务主体吗?

是的。 详细信息: 使用服务主体部署

有哪些连接可以使用?

与创作体验类似,运行管道的制作者可以提供他们自己的连接或他们可以访问的连接。 服务主体连接也可用于支持服务主体身份验证的连接器,包括自定义连接器。

为什么我无法更新现有的连接引用?

目前,在解决方案或目标环境中没有值的连接引用不能在部署期间更新。 如果之前部署了某个值,则可以在目标环境中更新该值。

谁拥有已部署的解决方案对象?

部署身份。 对于标准部署,所有者是提出请求的制作者。 对于委托部署,所有者是委托服务主体或用户。

管道能否部署到其他租户?

不包括。 我们建议对这种情况使用 Azure DevOps 或 GitHub。

如果我的开发环境或目标环境被重置或删除,我该怎么办?

您应该删除环境记录,并在需要时更新管道配置。 如果环境被重置,则重新创建环境记录,然后将其与管道关联。

我能否在默认环境中使用管道?

是的。 但是,不建议所有客户都使用默认环境作为管道主机。

我能否使用自己的服务主体进行部署?

是的。 更多信息:作为服务主体或管道所有者部署管道

管道能否与 Azure DevOps、GitHub 或 ALM 加速器一起使用?

可以,这些工具结合在一起很强大,同时还可让制作者体验保持简单。 详细信息:扩展管道

我能否回滚到以前的版本?

是的。 如果启用了管道设置,则可以 从 Pipelines(管道)页面上的运行历史记录视图重新部署以前的解决方案版本 。 如果禁用该设置,则只能部署或导入更高的解决方案版本。 解决方法是,管理员可以从管道主机下载构件,在 solution.xml 文件中递增解决方案版本,然后手动将其导入到目标环境。

我能否为管道数据设置保留策略?

是的。 您可以在 Dataverse 管道主机中配置批量删除作业,来按照定义的计划删除数据。

我能否指定高级解决方案导入行为,如更新与升级?

目前不能。 管道默认导入行为为升级覆盖自定义

一个环境能否与多个主机关联?

不包括。 但是,一个环境可以链接到同一主机内的多个管道。 要将环境与其他主机关联,将其添加到新主机中的管道中。 然后从原始主机中删除环境记录,并验证是否一切都正常。

我能否自定义或扩展第一方部署管道应用和表?

目前不能。 但是,可以使用专用的扩展挂钩来自定义管道逻辑。 详细信息:扩展管道

我在哪里可以查看和运行管道?

导航到与您的管道相关联的环境中的开发中的非托管解决方案。 无法从默认解决方案、托管解决方案或目标环境中查看或运行管道。 请注意,您还可以从 Power Platform CLI 检索和运行管道。

我能否跨区域部署?

可以,但前提是 在主机中启用了 Cross-Geo Solution Deployments 设置。 如果禁用该设置,则主机和与主机中的管道关联的所有环境必须位于同一地理位置(如创建环境时指定)。 例如,如果禁用该设置,则管道无法从德国部署到加拿大,并且德国的主机无法管理加拿大的环境。 如果租户管理员希望阻止跨地理位置解决方案部署,则应为德国和加拿大使用单独的主机。

我能否使用不同的管道部署同一个解决方案?

是,可以,但我们建议使用给定解决方案的相同管道开始。 这有助于避免混淆和意外错误。 管道运行信息显示在一个管道和一个解决方案的上下文中(在解决方案体验中)。 因此,其他管道可能不会显示最新部署的解决方案版本或与不同管道关联的其他重要运行信息。 请注意,部署管道配置应用显示当前主机的所有管道和所有解决方案的运行信息。

主机环境是否还可用作开发或目标环境?

不支持使用相同的环境进行开发和使用主机;不建议将其他组合作为最佳做法。

如何查看不同版本之间的变化?

在目标环境中,您可以看到已部署对象的层以及层之间的变化。 此外,您还可以看到模型驱动应用、站点地图和窗体的层之间的 XML 差异。 管道还可以扩展,与 GitHub 和其他源代码管理系统集成,来比较粒度差异。

我的主机环境是否应该与安装 COE 工具包所在的环境相同?

这是一个有效的配置,应根据您组织内的需求和策略进行评估。

我能否部署非托管解决方案?

不包括。 我们建议您始终将托管解决方案部署到非开发环境中。 请注意,非托管解决方案会自动导出并存储在管道主机中,因此您可以将它们下载并导入到其他开发环境中,或者将它们置于源代码管理中。

我能否一次部署多个解决方案?

目前不能。 您需要对每个解决方案提交不同的部署。 不过,同一管道可用于多个解决方案。

管道是否在导出解决方案之前发布非托管自定义项?

目前不能。 建议您在保存各个对象时发布它们。 请注意,只有特定解决方案对象才需要发布。

我能否对在独立开发环境中工作的多个开发人员团队使用管道?

当前实现对给定的解决方案使用单一的开发环境。

管道与 ALM 加速器有何不同?

两者都提供许多有价值的功能,并且负责团队密切合作,为 Power Platform 开发管道和扩大 ALM 愿景。 管道本质上更简单,可以更轻松地设置和管理。 不需要使用其他产品和技术,因为一切都在内部管理。 另一方面,ALM 加速器有时更适合更高级的 ALM 场景。

虽然还存在许多其他功能差异,但根本区别在于管道是一项正式 Microsoft Power Platform 的产品功能,这意味着它由产品工程部门设计、架构、工程、测试、维护和支持 Microsoft 。 管道内置在产品中,可以在本机产品体验中访问。

何时应该使用管道而非其他工具?

我们鼓励客户在核心部署功能中使用管道,并在需要时扩展管道来与其他 CI/CD 工具集成。 当一起使用时,CI/CD 工具中所需的工作负荷通常会变得不那么复杂,维护成本也更低。

后续步骤

设置管道扩展管道