扩展Jenkins Groovy DSL

v64noz0r  于 2022-09-20  发布在  Jenkins
关注(0)|答案(2)|浏览(190)

如何向我的Jenkins示例添加/编辑可在DSL脚本中访问的新代码?上下文如下

我继承了一个Jenkins示例。这笔遗产的一部分包括在闹鬼的房子里过夜,通过Jobs DSL plugin编写一些新的自动化in groovy。因为我害怕毁掉我们的Jenkins示例,所以我的第一步是设置一个本地开发示例。

在我的本地开发示例上运行我们现有的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

我不清楚的是

1.此代码所在的位置
1.如何在我们真实的Jenkins示例中找到它
1.如何向本地示例添加

具体的答案是受欢迎的,因为我们的这里是你如何学习钓鱼答案。

6kkfgxo0

6kkfgxo01#

虽然可能还有其他方法来实现这一点,但经过一番探索后,我发现

1.我安装的Jenkins示例安装了较旧版本的Jobs DSL plugin
1.此版本的作业DSL插件允许您在指向其他jar文件的Process DSL Builds作业部分中设置额外的classpath
1.这些JAR文件可以让您访问groovy脚本中的其他类(即thecompanysname.jenkins.extensions)

不幸的是,较新版本的乔布斯DSL插件已经删除了这个选项,目前还不清楚是否可以重新添加它。然而,这是另一个问题。

z8dt9xmd

z8dt9xmd2#

配置全局安全->取消选中“为作业DSL脚本启用脚本安全”。
对我很管用

相关问题