我有一个管道1,它执行bash脚本块成功并运行正常,但是当我从管道2调用此管道1时,bash脚本块没有执行。
其他 sh 单行命令是运行正常,它显示输出,但块脚本未执行
有什么想法吗?
我指的是这个:
管道1
steps {
script{
sh "echo Hello1 world"
sh '''#!/bin/bash
sh "echo Hello2 world"
<commands>
'''
}
}
管道2
steps {
build (job: '../../folfer1/pipeline1', parameters: [
...
], wait: true)
}
然后,pipeline2 上的输出显示
echo 'Hello1 World'
echo 'Hello2 World'
但不执行 sh block bash 并且没有显示任何错误,只显示
Hello1 world
sh "echo Hello1 world"
sh '''#!/bin/bash
sh "echo Hello2 world"
<commands>
'''
复制
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /var/lib/jenkins/workspace/folder1/pipeline1
[Pipeline] {
[Pipeline] ansiColor
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Executing playbook playbook1)
[Pipeline] withEnv
[Pipeline] {
[Pipeline] script (hide)
[Pipeline] {
[Pipeline] echo
Hello1 world
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // ansiColor
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
简历:
如果我从 pipeline2 命令调用此 pipeline1 到块脚本中,则不会执行,但是,如果我单独运行 pipeline1,结果和所有执行都可以!)
问候, 教育< allways learning
好的,感谢
echo
命令,我展示了管道复制被跳过的执行代码。谢谢@Iterokun