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

Posted

技术标签:

【中文标题】将 SPFX sppkg 解决方案包文件添加和部署到 SharePoint 2019(本地)应用程序目录的自动化方式【英文标题】:Automated way to add & deploy SPFX sppkg solution package file to SharePoint 2019 (on-premises) app catalog 【发布时间】:2021-06-08 07:40:28 【问题描述】:

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

我找到了添加此包的以下两个任务:

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

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

【问题讨论】:

【参考方案1】:

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

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

    创建发布定义

    链接构建工件

    创建环境

    安装 NodeJS

    为 Microsoft 365 安装 CLI

    连接到应用目录

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

    部署应用程序

    设置环境变量

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

【讨论】:

实际上@Jane,我一直在关注这篇文章,但是当遇到部署步骤时,它的目标是 SPO 而不是 SP 2019,就像我的案例和我的问题中提到的那样。文章中提到的命令是针对 SPO【参考方案2】:

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

    您可以根据自己的能力和目的使用云管道(azure、github 等)。 您可以使用自托管管道创建自己的环境 您将自己的运行器(管道代理)添加到您的云(天蓝色)环境中

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

所以,我认为您的解决方案是:

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

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

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

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

【讨论】:

以上是关于将 SPFX sppkg 解决方案包文件添加和部署到 SharePoint 2019(本地)应用程序目录的自动化方式的主要内容,如果未能解决你的问题,请参考以下文章

如何通过代码在线开发sharepoint中的列表

使用 SPFx 扩展将自定义操作部署到 SharePoint 2019 列表

SPOnline:在我的 SPfx WebPart 中包含功能/资产部署后,我无法将其放在任何 SitePage 上

如何在单个 spfx 解决方案中创建两个 webpart?

powershell 完整的Sharepoint Framework SPFX Bundle使用Gulp和Powershell构建上载部署过程

添加新类时 SPFx 快速服务错误