You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins JCasC的jobs.jcasc.yaml中直接定义简单Groovy流水线脚本?

直接在JCASC中嵌入Groovy流水线脚本的配置方法

你完全可以不用从Git拉取Jenkinsfile,直接把你的Groovy流水线代码嵌入到jobs.jcasc.yaml里,只需要把原来的cpsScm替换成cps定义即可。

下面是适配你需求的完整配置示例:

- script: |
    pipelineJob('your-job-name') {
        description('直接嵌入流水线的测试任务')
        definition {
            // 使用cps而非cpsScm,直接嵌入脚本内容
            cps {
                // 用三重单引号包裹多行Groovy脚本,避免转义问题
                script('''
                    pipeline {
                        agent { kubernetes { } }
                        stages {
                            stage("test") {
                                steps {
                                    script {
                                        sshagent (credentials: ['ssh-key']) {
                                            sh "some code"
                                        }
                                    }
                                }
                            }
                        }
                    }
                ''')
                // 如果你的脚本需要在Jenkins沙箱环境运行,保留这个配置;不需要则可设为false或移除
                sandbox(true)
            }
        }
    }

关键说明:

  • 核心改动是把cpsScm(从版本控制拉取脚本)换成cps(直接定义内联脚本),这是Job DSL中专门用于嵌入流水线代码的方式
  • 用三重单引号'''包裹Groovy代码,可以完美保留代码的换行和格式,不用额外处理转义问题
  • sandbox(true)是可选配置,根据你的流水线是否需要在Jenkins沙箱中运行来调整

这样配置后,Jenkins加载JCASC时就会直接创建包含你指定流水线的任务,完全不需要依赖外部Git仓库。

内容的提问来源于stack exchange,提问作者syncerror

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 17:42:32