如何以$获得退出代码1?在詹金斯(Jenkins)管道狂欢中

时间:2019-03-16 12:39:11

标签: bash jenkins

我想从Jenkins bash获取分支的详细信息。当我的Git分支为feature/ABC-1234时,将分支取为ab1234的标准,否则仅返回小写的分支,例如developer或master。 我设法通过以下代码得到相同的结果:

BRANCH = """${sh(
                     returnStdout: true, 
                     script: '''

                             echo "${GIT_BRANCH#*/}" > /tmp/test.txt ; grep -q 'feature/' /tmp/test.txt  ; if [ $? -eq 0 ]; then a=$(echo "${GIT_BRANCH#*/}"| cut -d- -f1) && b=$(echo "${a}" | cut -d/ -f2) && c=$(echo "${GIT_BRANCH#*/}" | cut -d- -f2) && echo $b$c ; else echo "${GIT_BRANCH#*/}"; fi
                             '''
                     )}""".trim().toLowerCase()

但是,当git分支为feature/ABC-1234时,我设法将abc1234作为分支名称,但是当grep返回退出代码1时,上面的代码在获得“ develop”分支时使Jenkins作业失败,然后它退出无法到达下一个if语句。

如何在詹金斯(Jenkins)bash中设法将$?设为1?

0 个答案:

没有答案