jenkins ssh脚本出现错误后怎么才能让jenkins构建失败

单蛙 发布于 2015/05/22 11:02
阅读 12K+
收藏 0
我能问大家一个问题么?jenkins使用ssh部署项目war,ssh中有错误的情况下,jenkins依然显示蓝球即成功。但是console显示了某些错误。请问我在shell脚本做什么操作(实验抛异常不行),才能告诉jenkins构建失败呢,求大神解答。
加载中
1
诺亚舟
诺亚舟

很简单。

set -e

https://www.turnkeylinux.org/blog/shell-error-handling

单蛙
单蛙
这个是我三年前的问题....已经解决了
0
yygc
yygc
脚本监测输出,如果出现错误,exit 1,jenkins认为非零返回就是job失败
huapox
huapox
回复 @单蛙 : 跟你的执行流程有关:比如你在jenkins中配置执行多个shell脚本,其中只错了一个, 就是黄色; 假如你只开一条bash调用,回最终的结果给jenkins: exit 1就是红色了。
huapox
huapox
跟你的执行流程有关:比如你在jenkins中配置执行多个shell脚本,其中只错了一个, 就是黄色; 假如你只开一条bash调用,回最终的结果给jenkins: exit 1就是红色了。
单蛙
单蛙
大哥,我设置了exit非0的情况,运行情况确实是黄色的unstable了,也发送了邮件。请问怎么设置成failed,并且球显示成红色。
0
初__夏
初__夏

请问大神这个问题是怎么解决的,能指教一下吗

0
aqu
aqu

这个以后应该也会有人碰到,我把我的脚本贴出来,供大家参考

#!/bin/bash
SRC=/home/userName/datas/svn/projectName/trunk
WAR=$SRC/target/projectNamei.war
TOMCAT=/home/userName/datas/webServers/tomcat8/tomcat_projectName
COMMAND=$TOMCAT/projectName.sh
WEBAPPS=$TOMCAT/webapps
cd $SRC
source /home/userName/.bashrc
svn update
mvn clean
mvn package -P dev
if [ -s $WAR ]; then
        rm $WEBAPPS/* -rf
        cp -rf $WAR $WEBAPPS/
        $COMMAND restart
        sleep 20
        tail -n 500 $TOMCAT/logs/catalina.out
else
        echo "package faild not find war"
        set -e #注意,这句最重要,一定要先设置这个,非常感谢 诺亚舟 的提示
        exit 1  #然后再退出,jenkins就会报红显示构建失败
fi

 

严某
Thank you very much
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部