如何在我的Jenkins实例中添加/编辑可以在DSL脚本中访问的新代码?上下文
我继承了Jenkins实例。继承的一部分包括在鬼屋中过夜通过in groovy编写一些新的自动化Jobs DSL plugin。由于我害怕破坏我们的jenkins实例,我的第一步是建立一个本地开发实例。
我在本地开发实例上运行现有的 DSL Scripts 时遇到问题 - 我在本地服务器上的构建在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
我不清楚的是
欢迎具体的答案,因为我们在这里您可以学习如何捕捉答案。
答案 0 :(得分:0)
虽然可能还有其他方法可以实现这一目标,但经过一番探索之后,我发现了
我安装的Jenkins实例安装了Jobs DSL plugin的旧版本。
此版本的Jobs DSL插件允许您在 Process DSL Builds 作业部分中设置额外的classpath
,指向其他jar
个文件。
这些jar文件可让您访问groovy脚本中的其他类(即thecompanysname.jenkins.extensions
)
不幸的是, Jobs DSL插件的更新版本已经删除了此选项,并且不清楚是否可以将其添加回来。然而,这是另一个问题。