将 SPFX sppkg 解决方案包文件添加和部署到 SharePoint 2019本地应用程序目录的自动化方法

问题描述

我正在寻找一种自动方式来添加部署 SPFX 解决方案包 (*.sppkg) 到 SharePoint 2019(不是在线)应用程序目录。这是使用 azure devops (CI/CD) 发布管道进行部署的原因。

我发现以下两个用于添加此包的任务:

  • 一个工作正常,只是将文件添加到应用目录但没有部署它,所以我不得不手动完成。
  • 第二个任务可以选择针对 SharePoint 编写 PnP 脚本,但我的问题是我发现的大多数脚本都是针对 SharePoint Online 而不是内部部署的。

如果您遇到这种情况并使用 PnP 或其他方式解决了问题,请感谢您的支持

enter image description here

解决方法

Microsoft 的官方文档描述了一种使用 Azure DevOps 进行持续部署的方法。您可以单击 Implement Continuous Integration and Continuous deployment using Azure DevOps 了解详细信息。使用此方法无需编写 PNP 脚本。

使用 SharePoint 设置 Azure DevOps 以进行持续部署 框架解决方案需要以下步骤:

  1. 创建发布定义

  2. 链接构建工件

  3. 创造环境

  4. 安装 NodeJS

  5. 为 Microsoft 365 安装 CLI

  6. 连接到应用目录

  7. 将解决方案包添加到应用目录

  8. 部署应用程序

  9. 设置环境变量

如果您只想使用 Azure DevOps CD 而不想使用 CI,您可以跳过第二步,将您的构建工件直接上传到存储库,然后在发布管道中使用它们。

,

使用管道有一些基本场景:

  1. 您使用云管道(azure、github 等)及其能力和目的。
  2. 您使用自托管管道创建自己的环境
  3. 您将自己的运行器(管道代理)添加到您的云(天蓝色)环境

因此,azure 允许您将自己的 pipeline agent 添加到环境中。例如,self-hosting windows agent

因此,我认为您的情况的解决方案是:

  • 安装自托管代理
  • 配置代理环境 - 安装 SharePointPnPPowerShell2019
  • 将代理添加到您的 Azure 环境
  • 添加步骤以使用自托管代理将您的解决方案部署到管道中

此方案允许您部署 sppkg 解决方案,而无需将您的应用目录发布到互联网,因为您的自托管代理将作为您的共享点农场位于保存网络中。

Azure 管道部署步骤允许run powershell on target machines

先决条件 此任务使用 Windows 远程管理 (WinRM) 访问本地物理计算机或虚拟计算机 已加入域或已加入工作组。