问题:jenkins里配置了多个执行shell,且有后续的执行job任务。但其中一个Execute shell执行失败了导致后续的shell都不执行了
而这个失败的shell并不是一定要执行
解决方法:
Execute shell点击【高级】,在展开的Exit code to set build unstable中输入1
这时如果该shell执行失败了,jenkins的执行结果将不是failure,而是unstable
![](https://images2017.cnblogs.com/blog/626983/201710/626983-20171012090101246-980931368.png)
如果后续有要执行的JOB,根据当前build结果决定是否要触发时,可以选择Stable or unstable but not failed,这样jenkins执行success或unstable都可以继续执行下一个JOB了
![](https://images2017.cnblogs.com/blog/626983/201710/626983-20171012090135262-1854351471.png)
举例如下:
有两个Execute shell,第一个shell是有问题的,cd的路径不存在
![](https://images2017.cnblogs.com/blog/626983/201710/626983-20171012090252371-388860664.png)
在未设置高级里面的Exit code to set build unstable时,执行结果如下:
只执行了第一个shell,且jenkins执行结果为Finished: FAILURE(红色)
![](https://images2017.cnblogs.com/blog/626983/201710/626983-20171012090340762-1940075782.png)
![](https://images2017.cnblogs.com/blog/626983/201710/626983-20171012090347293-387981469.png)
设置了Exit code to set build unstable=1后,执行结果如下:
及时第一个shell执行失败了,第二个shell也进行了执行,且jenkins执行结果为Finished: UNSTABLE
![](https://images2017.cnblogs.com/blog/626983/201710/626983-20171012090420418-1893945566.png)
![](https://images2017.cnblogs.com/blog/626983/201710/626983-20171012090427402-1026997971.png)