我正在使用 Jenkins 开发 CI/CD 管道,其中部分流程涉及将构建工件上传到 Intranet SharePoint。目前,我想到了两种可能的方法:
使用 SharePoint REST API:修改 Jenkinsfile 以包含以下步骤: 使用
curl
(或类似工具)将文件发送到 SharePoint,处理
它就像一个 REST API。我更喜欢这种方法,因为它可以保持管道
配置完全作为代码。
使用 OneDrive 同步:在托管 Jenkins 的服务器上安装 OneDrive, 配置本地文件夹以与 SharePoint 文件夹同步,并具有 管道将工件放入此本地文件夹中。
我担心的是:
是否有更好的替代方案将 Jenkins 与 SharePoint 集成以进行工件上传?如果不是,从长远来看,哪种方法更可靠且可维护?
SharePoint 确实提供了 Rest API 来上传文件。
REST API 请求示例:
POST /sites/your-site/_api/web/GetFolderByServerRelativeUrl('/sites/your-site/your-library')/Files/Add(url='your-file-name.zip', overwrite=true)
Host: your-sharepoint-site.sharepoint.com
Authorization: Bearer your-access-token
Content-Type: application/octet-stream
Content-Length: your-file-size
(binary content of your-file-name.zip)
参考: