-
Jenkins系列目录
- Jenkins系列(一):在CentOS下的下载及安装Jenkins
- Jenkins系列(二):Jenkins配置JDK、Maven、Git
- Jenkins系列(三):安装插件
- Jenkins系列(四):Jenkins配置全局安全属性并添加自定义用户
- Jenkins系列(五):将Linux服务器的SSH Key配置到GitHub
- Jenkins系列(六):将Linux服务器注册到Jenkins节点中
- Jenkins系列(七):创建Jenkins自动化部署任务(将项目运行在Tomcat中)
- Jenkins系列(八):SpringBoot项目创建Jenkins自动化部署任务)
- 新建任务
新建
输入任务名称和任务类型
填写任务参数
配置Git参数
然后在构建中添加shell脚本
下面是完整的shell脚本,需要更改的参数有:
1、TOMCAT_APP_PATH表示你使用的服务器的Tomcat的安装目录
2、pid=ps -ef|grep apache-tomcat-jenkins|grep java|awk '{print $2}'
这里表示查找apache-tomcat-jenkins这个进程,我这使用apache-tomcat-jenkins而不直接使用Tomcat的原因是因为在我的进程中还有其他Tomcat还在跑
3、overtime-0.0.4-SNAPSHOT是我这个项目存放的文件夹的名称(在上面Local subdirectory for repo中已经设置为overtime-0.0.4-SNAPSHOT),需要换成你们的文件夹名称
# 部署完server的任务,server这个进程不会被Jenkins杀掉
BUILD_ID=DONTKILLME
# 加载配置参数
. /etc/profile
# 配置运行参数
export PROJ_PATH=`pwd`
export TOMCAT_APP_PATH=/usr/local/apache-tomcat-jenkins
# base函数
killTomcat()
{
pid=`ps -ef|grep apache-tomcat-jenkins|grep java|awk '{print $2}'`
echo "apache-tomcat-jenkins Id list :$pid"
if [ "$pid" = "" ]
then
echo "no apache-tomcat-jenkins pid alive"
else
kill -9 $pid
fi
}
# 切换到任务下的指定目录
cd $PROJ_PATH/overtime-0.0.4-SNAPSHOT
# 将从GitHub拉取的项目进行清理并安装在本地
mvn clean install
# 杀死原有的tomcat进程
killTomcat
# 删除原有工程
rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -f $TOMCAT_APP_PATH/webapps/overtime-0.0.4-SNAPSHOT.war
# 复制新的工程
cp $PROJ_PATH/overtime-0.0.4-SNAPSHOT/target/overtime-0.0.4-SNAPSHOT.war $TOMCAT_APP_PATH/webapps/
# 切换到指定目录
cd $TOMCAT_APP_PATH/webapps/
# 为war包重命名
mv overtime-0.0.4-SNAPSHOT.war ROOT.war
# 启动tomcat服务器
cd $TOMCAT_APP_PATH/bin
sh startup.sh
- 构建任务测试是否配置成功
立即构建该任务,然后查看控制日志输出
浏览器访问39.105.59.4:8079/allUser(我这里Tomcat已经修改了端口,shell脚本是将解压后的文件夹命名为ROOT,不需要输入项目名,直接访问就行)