【发布时间】:2016-07-16 22:58:21
【问题描述】:
我已将jenkins配置为删除tomcat现有工作区,将现有构建复制到tomcat工作区,然后重新启动tomcat。我使用詹金斯的执行外壳。脚本如下:
#!/bin/sh
version=1.0.0-BUILD-SNAPSHOT
build_no=${BUILD_NUMBER}
if [ $build_no ]
then
cd ~
TOMCAT_WEBAPPS=`locate apache-tomcat | grep apache-tomcat | grep webapps | head -n 1 | awk '{ print $1 }'`
rm $TOMCAT_WEBAPPS/app-api.war
rm -rf $TOMCAT_WEBAPPS/app-api/*
rmdir $TOMCAT_WEBAPPS/app-api/
wget http://jenkins/job/project/ws/api/build/api-$version-$build_no-bin.zip
unzip -j connectedcare-api-$version-$build_no-bin.zip
rm api-$version-$build_no-bin.zip
cp api-$version.war $TOMCAT_WEBAPPS/app-api.war
rm api-$version.war
else
echo "Please specify the jenkins build number as an argument: "$0" <build_number>"
exit
fi
echo "Restarting tomcat ..."
TOMCAT_PID=`ps -ef | grep tomcat | grep java | awk ' { print $2 } '`
if [ $TOMCAT_PID ]
then
echo "Tomcat is running with PID" $TOMCAT_PID
echo "Forced tomcat stop with PID" $TOMCAT_PID
kill -9 $TOMCAT_PID
echo "Tomcat was stoped"
fi
echo "Starting tomcat"
TOMCAT_STARTUP_FILE=`locate apache-tomcat | grep apache-tomcat | grep startup.sh | awk ' { print $1 } '`
$TOMCAT_STARTUP_FILE
TOMCAT_PID=`ps -ef | grep tomcat | grep java | awk ' { print $2 } '`
if [ $TOMCAT_PID ]
then
echo "Tomcat is running with PID" $TOMCAT_PID
else
echo "Failed to start tomcat."
fi
运行构建时,结果如下:
Restarting tomcat ...
Tomcat PID 10152
Tomcat is running with PID 10152
Forced tomcat stop with PID 10152
Tomcat was stoped
Starting tomcat
Tomcat started.
Tomcat is running with PID 14781
问题是当我查看 linux 机器时,tomcat 没有运行,并且日志中没有任何内容,所以我无法弄清楚我做错了什么。你能给我一些建议吗?
谢谢
【问题讨论】:
标签: java linux shell tomcat jenkins