有没有办法重用在 Jenkinsfile.js 中加载一次的 groovy 脚本。
现在这就是我正在做的
steps {
script {
def util = load("${env.WORKSPACE}/scripts/build_util.groovy")
util.runStep1()
}
}
steps {
script {
def util = load("${env.WORKSPACE}/scripts/build_util.groovy")
util.runStep2()
}
}
steps {
script {
def util = load("${env.WORKSPACE}/scripts/build_util.groovy")
util.runStep3()
}
}
我在后期构建中再次使用多个脚本块步骤发送邮件。
有一个更好的方法吗?我无法使用 shared libraries .
最佳答案
是的,您只需要加载脚本一次。
def util = load("${env.WORKSPACE}/scripts/build_util.groovy")
您可以创建一个阶段并在那里加载脚本并存储在一个变量中,然后执行以下操作:-
stage('Environment') {
agent { node { label 'master' } }
steps {
script {
def util = load("${env.WORKSPACE}/scripts/build_util.groovy")
}
}
}
post {
// Things that we want done regardless of pipeline's outcome
//
always {
// Push the overall statistics from all the stages to InfluxDB
//
node (LINUX_BUILD_NODE){
script{
//Mail sending function call
//
util.runStep1()
util.runStep2()
util.runStep3()
}
}
}
}
您可以在任何阶段使用“ util ”来调用不同的函数。
关于jenkins - 在 jenkins 声明性管道文件中重用 groovy 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55486023/