jenkins bash: jar: command not found 之环境变量
(1)出现问题原因1:目标服务器jar,命令不存在
解决方法:
目标服务器:查看环境变量 echo $JAVA_HOME
cd /usr/bin
必须先进入/usr/bin,下同
sudo ln -s -f /usr/lib/jvm/jdk1.6.0_30/bin/jar
例如: nc: command not found
解决:yum install nc
other: 如果提示javah:commond not found,于是照葫芦画瓢,输入命令
cd /usr/bin
ln -s -f /usr/lib/jvm/jdk1.6.0_30/bin/javah
(2)出现问题原因2:环境变量问题
查找原因:在jenkins的日志里打印出环境变量,
你会发现是jenkins服务器的环境变量,并不是目标主机的环境变量
(脚本里面执行 echo $PATH 打印出的是jenkins本地环境的PATH)
echo $PATH
echo $JAVA_HOME
解决方法: 在执行命令之前需要设置环境变量为目标主机的环境变量。
在Exec command 里写上自己的项目启动脚本
在执行 java -jar 命令之前需要
export PATH=目标主机的PATH 如图:
(3)出现问题原因3:异常退出ssh 问题
jenkins ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [1]]
解决方法:构建后操作 - send build artifacts over ssh-高级
(4) Exception when publishing, exception message [Exec exit status not zero. Status [127]]
这个 bug 有很好的解决方法吗?
rsync -vrtopga --delete --exclude-from=/usr/local/bin/rsync.ignore ***** [email protected]:/data/webapp
ssh [email protected] "sh /data/server/resin/bin/resin.sh restart"
(5) 配置免密之后;第一次得手动登录一次。