如何将文件从 Jenkins 上传到 SharePoint:REST API 或 OneDrive 同步?

问题描述 投票:0回答:1

我正在使用 Jenkins 开发 CI/CD 管道,其中部分流程涉及将构建工件上传到 Intranet SharePoint。目前,我想到了两种可能的方法:

  1. 使用 SharePoint REST API:修改 Jenkinsfile 以包含以下步骤: 使用

    curl
    (或类似工具)将文件发送到 SharePoint,处理 它就像一个 REST API。我更喜欢这种方法,因为它可以保持管道 配置完全作为代码。

  2. 使用 OneDrive 同步:在托管 Jenkins 的服务器上安装 OneDrive, 配置本地文件夹以与 SharePoint 文件夹同步,并具有 管道将工件放入此本地文件夹中。

我担心的是:

  • 对于方法 1,Microsoft SharePoint 是否提供用于上传文件的 REST API?如果是,是否有任何示例或库可以简化此过程?
  • 对于方法 2,我不喜欢修改服务器基础设施(例如,安装和配置 OneDrive)的想法,因为它违背了将管道完全作为代码维护的原则。如果我们将来迁移到基于云的 IaaS 解决方案,这种方法还可能会带来可移植性问题。

是否有更好的替代方案将 Jenkins 与 SharePoint 集成以进行工件上传?如果不是,从长远来看,哪种方法更可靠且可维护?

jenkins sharepoint jenkins-pipeline cicd
1个回答
0
投票

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)

参考:

使用 REST 处理大文件

使用 REST API 和 jQuery 上传文件

© www.soinside.com 2019 - 2024. All rights reserved.