背景

在执行 Jenkins pipeline时,会执行某一个shell 脚本。

如果shell脚本报错。停止整条pipeline 。

如果shell 脚本正常执行,pipeline不受影响

Solution 

在想停止的位置加  exit 1

例如:

按照 touchlist.txt的内容识别文件是否存在。如果不存在,返回 exit code 1 。使得Pipeline Stage  Finished: FAILURE 

#!/bin/bash
for line in `cat /usr/local/software/jason/touchlist.txt`
do
if [[ ! -f "$line" ]]; then
 echo "ERROR $line 文件不存在,修改时间戳失败"
 exit 1
 break
else
 touch $line
 echo "$line 修改时间戳成功"
fi
done

一旦识别到文件不存在,pipeline 就会停止。报错Finished: FAILURE   exit code 1

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐