首页   >   代码编程   >   JAVA开发

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

在linux服务器上安装完了jenkins之后,用我自己的个人博客来测试一下,项目是maven工程,版本管理工具是svn,容器是tomcat,正好利用jenkins来做一下自动打包部署,这样就省得我每次手动传包了~

整个部署分为三大块:全局工具配置插件安装新建任务,全局工具配置只会在第一次部署时用到,后面如果再利用jenkins部署其他项目就可以省去这一步了。

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

本文的一些操作设置,基本上都是在上图中红色框起来的两个菜单下配置的。

maven全局配置

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

这个类似于自己电脑上的maven默认配置,如果项目没有特殊指定,就会去找用户目录下的.m2文件夹中的settings.xml文件。

maven配置

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

我之前在服务器上已经安装过了,所以这里直接使用我自己装的,就不需要jenkins再帮我装了。

jdk配置

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

跟上面的maven一样,也是之前自己装过了,就不再花时间重新安装了。

安装svn插件

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

如果没有安装,第一次安装的时候,点击右侧安装按钮后,会看到如下界面:

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

安装完毕之后,还需要重启一下jenkins,就把上图中的那个复选框勾选一下就行了,它会自动重启,也可以在安装的过程中就把它给勾上。

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

安装maven插件

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

两个插件的安装流程一样,都是傻瓜式的一键安装,没有什么特殊的地方,就不再重复截图赘述了。

到这里,基本的功能已经配置完毕了,接下来就是见证奇迹的时刻了!!!

新建一个任务

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

这张图是我一开始没安装maven插件的时候截的,所以在下面的选项中看不到maven项目,所以我这里选择了第一项“构建一个自由风格的软件项目”(最终效果都一样)。

配置打包项目的svn相关信息:地址、账号、密码

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

首次使用,需要在系统中添加svn账号密码,下次再使用的时候,就可以直接选择了。

配置界面:

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

只用填用户名和密码就行了,其他的可以不用管。

配置maven的打包命令

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

注意选项别弄错了,必须是最后一项“调用顶层maven目标”,在目标中填入maven的打包命令。

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

配置shell脚本,启动tomcat

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

自定义shell脚本,我在网上找了一个写的还不错的,拿来改了一下,大家可以参考一下我的脚本

#!/bin/sh
#kill tomcat pid
#这句尤为重要
export BUILD_ID=tomcat_jwcz_admin_build_id

# 1.关闭tomcat
pidlist=`ps -ef|grep tomcat-admin|grep -v "grep"|awk '{print $2}'`
if [ "$pidlist" == "" ]
    then
        echo "----tomcat已经关闭----"
else
    echo "tomcat进程号 :$pidlist"
    kill -9 $pidlist
    echo "kill $pidlist:"
fi

pidlist2=`ps -ef|grep tomcat-admin|grep -v "grep"|awk '{print $2}'`
if [ "$pidlist2" == "" ]
    then 
       echo "----关闭tomcat成功----"
else
    echo "----关闭tomcat失败----"
fi

# 2.复制jenkins生成的war包到tomcat中webapps中
cp /root/.jenkins/workspace/jwcz/admin/target/admin.war /usr/local/appBase/admin.war
sleep 3s
echo "----复制war包完毕----"

# 3.移除原来tomcat中webapps中的项目文件夹
rm -rf /usr/local/appBase/admin
sleep 1s
echo "----删除旧文件完毕----"

# 4.解压war包
unzip /usr/local/appBase/admin.war -d /usr/local/appBase/admin
sleep 1s
echo "----解压war包完毕----"

# 5.移除war包
rm -rf /usr/local/appBase/admin.war
sleep 1s
echo "----删除war包完毕----"

# 6.启动tomcat
cd /usr/local/tomcat-admin/bin
./startup.sh
echo "----开始启动tomcat----"

配置完毕,开始构建

Jenkins+SVN+Maven实现自动打包Jar/War并部署到Tomcat

一路下来,基本上没碰到什么问题,自动更新代码、自动打包、自动部署,就是大家在写shell脚本的时候,务必仔细核对文件路径!!!

如果还不会安装jenkins,请移步:Linux环境下安装Jenkins详细图文教程(war包方式)

QQ群Ⅰ: 686430774 (已满)

QQ群Ⅱ: 718410762 (已满)

QQ群Ⅲ: 638620451

如果文章有帮到你,可以考虑请博主喝杯咖啡!

分享到:

欢迎分享本文,转载请注明出处!

作者:不忘初心

发布时间:2019-10-07

永久地址:https://www.jiweichengzhu.com/article/e3b248a063144d1987beee72ef0b2d90

评论