首页 文章

扩展Jenkins Groovy DSL

提问于
浏览
0

如何在我的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 回答

  • 0

    虽然可能还有其他方法可以实现这一目标,但经过一番探索之后,我发现了

    • 我安装的Jenkins实例安装了旧版本的Jobs DSL plugin .

    • 此版本的Jobs DSL插件允许您在Process DSL Builds作业部分中设置额外的 classpath ,该部分指向其他 jar 文件 .

    • 这些jar文件可以让你访问groovy脚本中的其他类(即 thecompanysname.jenkins.extensions

    不幸的是,更新版本的Jobs DSL插件已经删除了这个选项,并且可以将它添加回来 . 然而,这是另一个问题 .

相关问题