Jenkins持续集成 自动发布远程tomcat

  1. 安装Java环境。 略

  2. 下载Jenkins
    Jenkins官网下载地址
    自定义端口启动(默认8080) : nohup java -jar jenkins.war --ajp13Port=-1 --httpPort=端口号&

    根据提示输入初始密码, 下载推荐插件

  3. 系统配置
    添加一些必备插件

  1. deploy to container
  2. Publish Over SSH
  3. Maven Integration plugin

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

配置maven jdk
在这里插入图片描述
在这里插入图片描述

  1. 构建一个maven项目
    在这里插入图片描述

在这里插入图片描述

源码地址
GIT | SVN
在这里插入图片描述

这里的Remote directory 会和上面的远程目录拼接
这里的Remote directory  会和上面的远程目录拼接
在这里插入图片描述

脚本

#!/bin/bash
#!/bin/sh

# @Time    : 2020-05-14

# @Author  : ChenFangYa

# @Name  :jenkins.sh


export JAVA_HOME=你的JDK路径
#防止jenkins构建完成后杀死tomcat进程
export BUILD_ID=dontKillMe
DATE=`date +%F_%H:%M`
#tomcat路径
TOMCAT_PATH=你的tomcat路径
#war路径
WAR_PATH=war包路径
#war路径
LOG_PATH=日志路径
#替换掉的war包名
WAR_NAME=包名

sh $TOMCAT_PATH/bin/shutdown.sh

#查询tomcat进程id
TID=`ps -ef|grep $TOMCAT_PATH |grep -v 'grep\|tail\|less\|more' |awk '{print $2}'`
 
#进程id不为空
#[]中必须保留前后空格,格式要求
if [ ! -n "$TID" ]; then 
    echo "Tomcat没有运行"
else
    for id in $TID
    do
        kill -9 $id;
        echo "Tomcat进程$id被杀死";
        sleep 8s;
    done
fi

rm -rf $TOMCAT_PATH/webapps/$WAR_NAME*

echo "复制war到webapps下"

cp -f $WAR_PATH/$WAR_NAME.war $TOMCAT_PATH/webapps
sleep 5s

#备份
mv $WAR_PATH/$WAR_NAME.war $WAR_PATH/$WAR_NAME-$DATE.war

echo "启动tomcat"
start_time=`date -d "today" +%s`
sh $TOMCAT_PATH/bin/startup.sh

sleep 1
while true;do
   tail -1 $LOG_PATH/server.log |grep "ERROR";
   if [ $? -eq "0" ];then
       echo "Tomcat 启动出现了一个错误!"
   fi
   tail -1 $LOG_PATH/server.log |grep "Started Application in";
   if [ $? -eq "0" ];then
       echo "Tomcat启动成功!"
       break
   fi
   end_time=`date -d "today" +%s`
   t=$(($end_time-$start_time))
   if [ $t -gt 100 ];then
       echo "Tomcat启动超时,请注意查看日至查找原因!"
       break
   fi
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值