目录
在使用Publish Over SSH进行远程部署项目时一直报如下错:ERROR: Exception when publishing, exception message [Exec timed out or was interrupted after 120,001 ms]
1、日志分析显示超时,于是修改时间,将120000 修改为300000,然后再修改为600000,都没能解决问题,于是排除不是这个问题

2、网上搜索,说是jenkins 启动时候杀掉了build之外的进程,需要在脚本文件加上这句BUILD_ID=dontKillMe,加上之后还是不行。daemon守护线程。还是不行。
3、有人说是空间不足,于是执行如下命令 清除了一下缓存,还是不行
- sync
-
- echo 3 > /proc/sys/vm/drop_caches
4、后来在服务器手动启动脚本,发现了问题的所在,最后一行,日志输出那行
原始脚本
- #!/bin/bash
- source /etc/profile
- project=test-wechat-1.0-SNAPSHOT.jar
- dir=/opt/deploy/wechat
- echo "prepare to deploy test-wechat-1.0-SNAPSHOT"
- pid=`ps -ef |grep test-wechat-1.0-SNAPSHOT |grep -v grep| grep 'java' |awk '{print $2}'`
- if [[ $pid ]]; then
- echo "test-wechat-1.0-SNAPSHOT is running and pid is $pid"
- kill -9 $pid
- if [[ $? -eq 0 ]];then
- echo "sucess to stop test-wechat-1.0-SNAPSHOT"
- else
- echo "fail to stop test-wechat-1.0-SNAPSHOT"
- fi
- fi
- echo "start to deploy test-wechat-1.0-SNAPSHOT"
- cd /opt/deploy/wechat/
- nohup java -jar /opt/deploy/wechat/test-wechat-1.0-SNAPSHOT.jar --server.port=9003 >/dev/null 2>&1 &
发现启动之后一直卡在页面,虽然是后台启动但是并没有出现后台启动的效果
修改脚本内容如下后,问题解决。
- #!/bin/bash
- source /etc/profile
- project=test-wechat-1.0-SNAPSHOT.jar
- dir=/opt/deploy/wechat
- echo "prepare to deploy test-wechat-1.0-SNAPSHOT"
- pid=`ps -ef |grep test-wechat-1.0-SNAPSHOT |grep -v grep| grep 'java' |awk '{print $2}'`
- if [[ $pid ]]; then
- echo "test-wechat-1.0-SNAPSHOT is running and pid is $pid"
- kill -9 $pid
- if [[ $? -eq 0 ]];then
- echo "sucess to stop test-wechat-1.0-SNAPSHOT"
- else
- echo "fail to stop test-wechat-1.0-SNAPSHOT"
- fi
- fi
- echo "start to deploy test-wechat-1.0-SNAPSHOT"
- cd /opt/deploy/wechat/
- nohup java -jar /opt/deploy/wechat/test-wechat-1.0-SNAPSHOT.jar --server.port=9003 > nohup.out 2>&1 &
在jenkins配置,一定要添加nohup ,不然项目启动失败

然后研究了一下日志输出的指令,来源 https://blog.csdn.net/sunrier/article/details/7695839

不过也还是不太明白为什么没有以后台的方式启动,希望大佬可以一起讨论一下