groovy (Jenkins)加载时运行共享库函数

oknwwptz  于 2023-01-08  发布在  Jenkins
关注(0)|答案(1)|浏览(171)

在Jenkins中,我想自动运行共享库的一个函数,它是在全局级别隐式加载的,这将允许我在每个管道中强制执行某些函数。
这意味着,用户不必在管道脚本本身中定义任何内容就可以运行它。
我尝试了:

//src/org/test/Always.groovy
#!/usr/bin/env groovy
package org.test

class Always implements Serializable {
    Always() {
        println "Always print me"
    }
}
Always()

然而,这似乎没有做任何事情,我希望它总是示例化Always类并打印"Always print me"。

flvlnr44

flvlnr441#

有一个global-pre-script-plugin似乎适合您的用例。它可以在每个作业/构建开始之前执行groovy脚本。我确定该脚本是否可以加载共享库并从其中注入方法(可能作为Closure变量?)。这是我们需要测试的:)

    • 该插件的最后一次提交是在2020年3月,所以在我看来相当未经维护。**

这个插件使得在每个作业开始时执行groovy脚本成为可能
特点:

  • 应用于服务器中运行的所有作业/生成
  • 在构建开始时执行groovy脚本在构建中注入任意数量的变量
  • 根据另一个属性的内容注入属性
  • 生成开始时执行脚本
  • 非常轻的插件
  • 脚本中的失败不会中止生成

相关问题