如何在我的Jenkins实例中添加/编辑可以在DSL脚本中访问的新代码?背景如下
我继承了Jenkins实例 . 继承的一部分包括在闹鬼的房子里过夜,通过Jobs DSL plugin写一些新的自动化in groovy . 由于我害怕破坏我们的jenkins实例,我的第一步是 Build 一个本地开发实例 .
我在本地开发实例上运行我们现有的一个DSL脚本时遇到问题 - 我在本地服务器上的构建在Jenkins错误控制台中失败了 .
Processing DSL script jobs.groovy
ERROR: startup failed:
jobs.groovy: 1: unable to resolve class thecompanysname.jenkins.extensions
有问题的脚本就像这样开始 .
import thecompanysname.jenkins.extensions
use(extensions) {
def org = 'project-name'
def project = 'test-jenkins-repo'
def _email = 'foo@example.com'
所以,就我所知,似乎前任已经编写了一些他们导入的自定义Groovy代码
import thecompanysname.jenkins.extensions
我不清楚的是
-
这段代码存在的地方
-
如何在真正的Jenkins实例中找到它
-
如何添加到本地实例
我们欢迎具体的答案,因为我们在这里可以学习如何捕捉答案 .
1 回答
虽然可能还有其他方法可以实现这一目标,但经过一番探索之后,我发现了
我安装的Jenkins实例安装了旧版本的Jobs DSL plugin .
此版本的Jobs DSL插件允许您在Process DSL Builds作业部分中设置额外的
classpath
,该部分指向其他jar
文件 .这些jar文件可以让你访问groovy脚本中的其他类(即
thecompanysname.jenkins.extensions
)不幸的是,更新版本的Jobs DSL插件已经删除了这个选项,并且可以将它添加回来 . 然而,这是另一个问题 .