如何在没有 SCM 选项的情况下配置 jenkins pipeline 项目

Red*_*Ant 8 jenkins jenkins-pipeline

我们正在将源代码存储库迁移到云存储桶,jenkins 使用的所有源代码都将从像 S3 一样的存储桶中读取/下载。

这还涉及重写我们从 SCM (git) 读取的 jenkins 管道。Jenkis 管道项目配置不允许任何独立的脚本执行(例如使用 shell 从存储桶中获取或下载文件)

如果可能的话,我想执行以下操作 1)将 jenkinsfile 从 S3 存储桶下载到工作区 2)在“管道”部分中为 SCM 选择“无” 3)在脚本路径中提供下载的 jenkins 文件的路径

我的问题是,我怎样才能使#1成为可能?附图片。 在此输入图像描述

Von*_*onC 0

Jenkis 管道项目配置不允许任何独立的脚本执行(例如使用 shell 从存储桶中获取或下载文件)

那么...我宁愿有两份工作:

  • 一个用于下载 Jenkisfile
  • 一个(与第一个共享相同的工作空间):我使用Job Node Stalker Jenkins 插件,有点旧,但它仍然有效!
+----------------+               +---------------------+              +-------------------+
| S3 Cloud Bucket | --(Job 1)--> | Jenkins Workspace   | --(Job 2)--> | Jenkins Pipeline  |
| (contains code) |              | (jenkinsfile path)  |              | Execution         |
+-----------------+              +---------------------+              +-------------------+
Run Code Online (Sandbox Code Playgroud)

使用Amazon S3 发布者 Jenkins 插件

// For Job 1
node {
    stage('Download Jenkinsfile') {
        s3Download bucket: 'your-bucket', path: 'jenkinsfile', file: 'Jenkinsfile'
    }
}
Run Code Online (Sandbox Code Playgroud)

对于作业 2,由作业 1 构建后步骤自动触发:

  • 管道作业(如果“Job Node Stalker”插件在那里处于活动状态,您可以确保该作业将重用以前的工作区,并且 Jenkinsfile 已存在于其中)
  • 或自由式工作(支持“Job Node Stalker”:我经常使用它)