003 jenkins中maven项目采用publish over ssh部署至远程tomcat容器
前言:1、项目为标准maven项目,框架为spring boot,构建后打包成war;
2、项目使用gitlab进行源码管理;
3、项目构建采用Maven Integration plugin插件;
4、项目构建后,war包采用Publish over SSH插件,scp构建产物至远程tomcat容器;
5、使用到了jdk1.8、maven工具;构建时使用maven下载jar包;编译时使用jdk编译源码;
操作过程如下:
1、创建job任务;
2、描述随便填;
3、配置git源码管理;
4、不选择触发器;
5、配置构建环境;
6、构建前不添加操作;
7、配置编译源及条件;
btms/pom.xml
clean install -Dmaven.test.skip=true
mvn clean package -Dmaven.test.skip=true -P dev -e (用dev这个级别启动)
8、只有build success,才进行下一步;
9、不配置构建后操作;
10、点击保存。点击立即构建。
11、其他;
1)120.79.94.60远程服务器配置;
系统管理--系统配置--Publish over SSH
因采用账号密码的设置方式,不再通过私钥方式验证,详见如下图:
2、tomcat脚本内容;
#!/bin/bash
tomcat_service_name=tomcat-btms
pre_path=/home/deployer/Server/tomcat-btms/bin
case $1 in
start)
echo "starting $tomcat_service_name..."
sh $pre_path/startup.sh
echo "$tomcat_service_name start finish."
;;
stop)
echo "stopping $tomcat_service_name..."
sh $pre_path/shutdown.sh
echo "$tomcat_service_name stop finish."
#pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk '{print $2}'`
#kill -9 $pidlist
;;
restart)
echo "restarting $tomcat_service_name..."
sh $pre_path/shutdown.sh
echo "$tomcat_service_name shutdown finish."
sh $pre_path/startup.sh
echo "$tomcat_service_name start finish."
esac