【发布时间】:2019-01-30 05:59:09
【问题描述】:
我想使用脚本在我的 Jenkins 配置中创建一个简单的管道作业。所以我的 jenkins.yaml 文件如下:
jobs:
- script: >
pipelineJob('Tag Repositories') {
definition {
cps {
def theScript = readFileFromWorkspace('git_tag_job.groovy')
script(theScript)
sandbox()
}
}
}
所以我认为文件 git_tag_job.groovy 可以位于 Jenkins 主目录中,但看起来 readFileFromWorkspace 正在查看尚未创建的此作业的工作区。结果,我收到 NPE 错误,因为工作空间为空。
现在的问题是如何使用 Configuration As Code 插件以 git_tag_job.groovy 的内容作为其脚本添加此作业?
脚本很大,无法放入 Yaml 文件中。
让我感到奇怪的是,如果我们无法从某个地方加载脚本,那么这个配置和 readFileFromWorkspace 就毫无用处,因为您很少有使用单行脚本的管道作业,因此从文件加载是唯一实用的选项.
我在这里遗漏了什么还是有其他方法可以做到这一点?
【问题讨论】:
标签: jenkins jenkins-plugins jenkins-job-dsl jcasc