从其他管道调用时跳过代码

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

我有一个管道1,它执行bash脚本块成功并运行正常,但是当我从管道2调用此管道1时,bash脚本块没有执行。

其他 sh 单行命令是运行正常并显示输出,但

for
语句中的所有命令进入块脚本不是正在执行

有什么想法吗?

我指的是这个:

管道1

  steps { 
        script{
          <commands> 
          echo "Hello world"
          sh '''#!/bin/bash
          sh "echo Hello1 world"
          for i in $var do
          <commands1> 
          sh "echo Hello2 world"
          if ... ;then
            sh "echo Hello3 world"
            <commands2> 
          else
            sh "echo Hello4 world"
            <commands3> 
          fi
          sh "echo Hello5 world"
          <commands4> 
          done
          sh "echo Hello6 world"
          <commands5> 
          '''
          sh "echo Hello7 world"
        }
    }

管道2

steps { 
            build (job: '../../folfer1/pipeline1', parameters: [ 
            ... 
            ], wait: true) 
} 

然后,pipeline2 上的输出显示

            echo "Hello world"
            echo 'Hello1 World'
            echo 'Hello6 World'
            echo 'Hello7 World'

但是*不执行代码定位到sh块bash

中的
for语句中并且没有显示任何错误,只显示
Hello world
Hello1 world
Hello6 world
Hello7 world

复制

[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /var/lib/jenkins/workspace/folder/pipeline2
[Pipeline] {
[Pipeline] ansiColor
[Pipeline] {

[Pipeline] stage
[Pipeline] { (Executing playbook pipeline2)
[Pipeline] withEnv
[Pipeline] {
[Pipeline] script
[Pipeline] {
[Pipeline] sh
<commands>
[Pipeline] echo
Hello world
[Pipeline] sh
+ echo 'Hello1 world'
Hello1 world
+ echo 'Hello6 world'
Hello6 world
+ <commands5>
[Pipeline] echo
Hello7 world
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // stage
[Pipeline] }

[Pipeline] // ansiColor
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS

简历:

如果我从 pipeline2 调用此 pipeline1

for
语句中的所有命令进入块脚本不会执行,但是,如果我单独运行 pipeline1,结果和所有执行都可以!)

问候, 教育< allways learning

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

我更改了定义的 sh bash 块代码

sh '''#!/bin/bash
<commands>
'''

sh """
<commands>
"""

并得到同样的情况。

提前致谢

问候,教育< allways learning

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