Jenkins远程构建项目超时的问题

目录

一、问题描述

二、分析原因


一、问题描述

在使用Publish Over SSH进行远程部署项目时一直报如下错:ERROR: Exception when publishing, exception message [Exec timed out or was interrupted after 120,001 ms]

二、分析原因

1、日志分析显示超时,于是修改时间,将120000 修改为300000,然后再修改为600000,都没能解决问题,于是排除不是这个问题

Jenkins远程构建项目超时的问题_第1张图片

 

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 ,不然项目启动失败

Jenkins远程构建项目超时的问题_第2张图片

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

Jenkins远程构建项目超时的问题_第3张图片

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

你可能感兴趣的:(Linux运维,jenkins,运维)