jenkins+maven+svn自动部署和发布(超详细,图文并茂)

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

博主前几个月刚被忽悠到一家创业公司(主要是看上这个行业的前景),博主进来主要的工作是java web后台开发和android应用开发。就这样在这家公司熟悉了一个星期的业务之后,开始维护和开发项目了。有一天令我惊讶的事情发生了——我修改代码之后提交到svn,准备发布项目了,我就问我们老大发布的网址是什么?他的回答让我很惊讶,他说没网址(当时不知道他是不是没听懂我的意思),我就问你们平时怎么发布web项目的,他的回答把我雷到了,他说将本地编译的class通过FileZilla替换到服务器中的tomcat容器中相应的项目的对应目录,卧槽-有么有搞错,我第一次遇到有这么干的(我在想多人协作开发怎么搞啊、要是替换了class文件,但是忘记了提交svn,后面出问题了怎么办…),心里想完了,这都是什么技术部啊,这次被坑到这么个公司。我问老大这么干你们没出过问题么?老大回答以前出过问题,反正项目被他们搞得特别乱,一个项目有N多个备份的版本,而且不知道哪个是正确的,听到这话心塞。没办法为了防止我后面遇到类似的问题,只能自己来搭建jenkins环境啊,自动部署保证svn的代码和tomcat中的项目时刻对应上。好了废话说的有点多,直接上如何部署吧

首先的在linux安装相应的软件咯(jdk、jenkins、tomcat、maven),这些在本博客中就不介绍了,大家自行百度吧,本博客默认所有的软件都已经安装完了

1,在jenkins中配置maven和jdk环境

(1) 进入配置界面—>【系统管理】—>【全局工具配置】jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

 jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

(2) 配置maven的settings.xml

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

 

(3)配置jdk

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

(4)配置maven

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

上面的步骤完成了就可以直接配置新的项目了

2、创建所要创建的项目

(1)新建maven项目

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

(2)点击进入项目配置

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

(3)项目详细配置:General

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

(4)源码管理,为了全屏能看到,我将浏览器缩小了

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

(5)构建触发器

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

(6)build

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

完成上述步骤,就能够对svn的项目进行编译,并且打包成war包了

接下来如何将生成的war包如何自动复制到tomcat中(tomcat会自动将war包解压成相应的项目)

(7)先配置tomcat/config/tomcat-user.xml中配置一个manager用户,打开tomcat-user.xml

<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="manager" password="manager" roles="manager-gui,manager-script"/>
<user username="admin" password="admin" roles="admin-gui,manager-gui"/>

 上述配置的admin等下需要使用到

(8)配置

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

好了,到了上面基本上配置完成了,当然还可以配置的更加完善,比如构建完成之后发送邮件、以及部署到多个服务器的tomcat中,那些就不介绍了。配置完成之后呢就可以在点击构建了

jenkins+maven+svn自动部署和发布(超详细,图文并茂)

 

上述环境搭建成功之后呢,每次更新代码都通过代码比对工具,提交更新的部分到svn,然后通过点击“立即构建”来自动构建和发布项目,时刻保证svn和服务器的代码同步。完美解决

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111193.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Matlab 中绘制模糊隶属度函数

    Matlab 中绘制模糊隶属度函数6 2 模糊推理结构 FIS6 2 1 不使用数据聚类方法从数据生成 FIS 结构函数 genfis1 格式 fismat genfis1 data fismat genfis1 data numMFs inmftype outmftype 说明 genfis1 为 anfis 训练生成一个 Sugeno 型作为初始条件的 FIS 结构 初始隶属函数 genfis1 data numMFs inmft

    2025年10月3日
    3
  • Implementing the Singleton Pattern in C#

    Implementing the Singleton Pattern in C#

    2021年9月2日
    48
  • element导航菜单使用vue-router模式选中菜单项没有高亮

    element导航菜单使用vue-router模式选中菜单项没有高亮1 使用 element 的导航菜单点击当前菜单时没有高亮 解决方法问题原因 default active 的值不要写成具体的内容值 要改成 route path el menu item 种的 index 也要改成对应的路由值

    2025年6月23日
    2
  • 你了解System.out.println()的真正含义吗?

    你了解System.out.println()的真正含义吗?在Java编程中,我们常常用 System.out.println(); 来输出字符串,也许我们都已经猜到println()是方法名,但System是什么,out又是什么呢?  其实System是java.lang里面的一个类,如下图:     而out就是System里面的一个静态数据成员,而且这个成员是java.io.PrintStream类的引用。如下图,被关键字static修饰的成员可…

    2025年7月24日
    4
  • ftp服务器文件防盗链,IIS防盗链组件[通俗易懂]

    ftp服务器文件防盗链,IIS防盗链组件[通俗易懂]一个用于防盗链和限制IIS连接线程的组件,需要IIS用ISAPI的方式加载组件,在2003服务器上测试2008服务器的话需要安装ISAPI扩展。相关软件软件大小版本说明下载地址一个用于防盗链和限制IIS连接线程的组件。本组件已经应用于PC6下载服务器,经过一段时间的测试效果比较明显。需要IIS用ISAPI的方式加载组件,在2003服务器上测试2008服务器的话需要安装ISAPI扩展。打开IIS…

    2022年7月23日
    12
  • 85℃蛋糕店_蛋糕吧

    85℃蛋糕店_蛋糕吧题目描述今天是路路的生日,生日蛋糕自然是少不了。路路的朋友们一起去蛋糕店来买蛋糕,可是等一行人到了蛋糕店之后,发现那里是人山人海啊-_-。这下可把店家给急坏了,因为人数过多,需求过大,所以人们要等好长时间才能拿到自己的蛋糕。老板为了最大限度的使每位客人尽快拿到蛋糕,因此他需要安排一个制作顺序,使每位客人的平均等待时间最少(如果制作时间相同的,先来的先做)。这使他发愁了,于是他请你来帮忙安排一个…

    2025年7月5日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号