工作中遇到jenkins构建项目之后结合maven部署插件远程部署到tomcat,tomcat没有重启,造成代码没有生效,需要手动进行重启,一是太麻烦了,二是效率太低,本人就想jenkins能不能调用shell脚本来帮我实现重启tomcat,实现自动重启。结果是可以的,以下是我的操作
从网站上下载代码,http://sourceforge.net/projects/sshpass/ 下载sshpass 并安装
tar
-zxvf sshpass-1.05.
tar
.gz
cd
sshpass-1.05
.
/configure
make
&&
make
install
之后我们就准备一个shell脚本 restart_tomcat.sh
我们放在把这个shell脚本放在和jenkins 在一台机器上 /root 目录下
#!/bin/bash
export JAVA_HOME=/usr/local/jdk1.6
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
echo "======begin stop the tomcat======"
ps -ef | grep tomcat_vip2/ | grep -v grep | awk '{print $2}' | sed -e "s/^/kill -9 /g" | sh -
echo "======begin delete /usr/apps/vip2/ROOT======"
rm -rf /usr/apps/vip2/ROOT
echo "======begin starting the tomcat======"
/usr/local/tomcat_vip2/bin/startup.sh
echo "======end start the tomcat successed======"
之后我在jenkins的job配置如下:
Command : sshpass -p pasword ssh root@IP 'bash -x -s' < /root/restart_tomcat.sh
保存即可,构建如下:
至此成功结束。