[英]Extending the Jenkins Groovy DSL
如何向我的 Jenkins 实例添加/编辑可以在 DSL 脚本中访问的新代码? 上下文如下
我继承了一个 Jenkins 实例。 inheritance 的一部分包括
在鬼屋
过夜,通过Jobs DSL 插件在 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
我不清楚的是
欢迎提供具体答案,因为我们在这里介绍了如何学习钓鱼答案。
虽然可能有其他方法可以做到这一点,但经过一番探索后,我发现
我安装的 Jenkins 实例安装了旧版本的Jobs DSL 插件。
这个版本的 Jobs DSL 插件允许您在Process DSL Builds作业部分设置一个额外的classpath
,该类路径指向额外jar
文件。
这些 jar 文件可以让您访问 groovy 脚本中的其他类(即公司名称thecompanysname.jenkins.extensions
)
不幸的是,最新版本的Jobs DSL 插件已经删除了这个选项,目前还不清楚是否可以重新添加它。 然而,这是另一个问题。
配置全局安全 -> 取消选中“为作业 DSL 脚本启用脚本安全”。
为我工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.