网上找了一堆答案,结果80%的答案是无效的。还是实践出真理啊
这里分两种情况
1. jenkins 和tomcat不在同一台服务器。必须设置tomcat和java的环境变量,否则无法执行startip.sh
export TOMCAT_HOME=/data/webtomcat
export CATALINA_HOME=/data/webtomcat
export JAVA_HOME=/usr/java
restart_tomcat()
{
#echo '重启tomcat...'
kill -15 `ps -aux | grep -v grep |grep tomcat | awk '{print $2}'`
nohup /data/webtomcat/bin/startup.sh &
}
restart_tomcat
sleep 3
2. jenkins 和tomcat在同一台服务器。这种情况未测试。都说jenkins构建完毕后杀掉所有其启动的进程。
①. 在shell脚本前面加
export BUILD_ID=XXXXXXX
②. 在jenkins启动命令加
-Dhudson.util.ProcessTree.disable=true
以后有机会可以试下在同一台服务器上部署是否有问题
其他复杂上传+解包+备份功能自己补充完成即可