bash 块脚本步骤管道未在从其他管道 2 调用的管道 1 上执行

问题描述 投票:0回答:1

我有一个管道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

bash jenkins-pipeline jenkins-groovy
1个回答
0
投票

好的,感谢

echo
命令,我展示了管道复制被跳过的执行代码。谢谢@Iterokun

© www.soinside.com 2019 - 2024. All rights reserved.