您现在的位置是:网站首页 > 代码编程 > JAVA开发JAVA开发

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

不忘初心 不忘初心 2019-10-07 围观() 评论() 点赞() JAVA开发

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

在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包方式)

svnJenkins

看完文章,有任何疑问,请加入群聊一起交流!!!

很赞哦! ()

文章评论

  • 请先说点什么
    人参与,条评论

请使用电脑浏览器访问本页面,使用手机浏览器访问本页面会导致下载文件异常!!!

雨落无影

关注上方公众号,回复关键字【下载】获取下载码

用完即删,每次下载需重新获取下载码

若出现下载不了的情况,请及时联系站长进行解决

站点信息

  • 网站程序:spring + freemarker
  • 主题模板:《今夕何夕》
  • 文章统计:篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们