我有 1 个工作,有 2 个声明性管道脚本,我从 1 个脚本调用另一个脚本
现在我收到此错误消息:
<块引用>java.lang.IllegalStateException: 只有一个管道 { ... } 块可以 在一次运行中执行。
stage('Loading app Deployment File') {
steps {
script {
def util = load './abcd/Jenkinsfile.groovy'
}
}
}
答案 0 :(得分:0)
您不能在一个作业中使用两个管道脚本,我看到两个选项
build job: "path/to/jenkins_job",parameters:([string(name:'', value:'')]), propagate: false, wait: true
将文件作为 jenkins 文件中的闭包调用
stage('foo'){
options {
timeout(time: 5, unit: "MINUTES")
}
steps{
script{
script1.call(arg1, arg2)
}
}
}
并配置script1.groovy如下
script1.groovy
#!groovy
def call(arg1, arg2){
try{
<do something>
return
} catch (Exception){
< something has failed >
}
// you can also add stages here
stage('bar'){
try{
<do something>
return
} catch (Exception){
< something has failed >
}
}
}
需要注意的一点是,使用此方法也可以使用所有管道变量。