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)
上一篇 2021年8月4日 下午1:00
下一篇 2021年8月4日 下午2:00


相关推荐

  • Android布局之表格布局[通俗易懂]

    Android布局之表格布局[通俗易懂]表格布局(Tablelayout) 简介:       Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。     当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。     当为View时,该View将独占一行。表格布局是以行和列的形式来对控件…

    2022年5月14日
    42
  • matlab画圆的命令_matlab画圆命令资料

    matlab画圆的命令_matlab画圆命令资料%%圆环面R=6;r=2;symsuv;ezmesh((R+r*cos(u))*cos(v),(R+r*cos(u))*sin(v),r*sin(u));axisequal;%%圆盘R=6;r=2;theta=linspace(0,2*pi,90);ph=linspace(r,R,30);[t,p]=meshgrid(theta,ph);r=t*0;[x,y,z]=pol…

    2022年6月19日
    32
  • java游戏开发实例,吐血整理「建议收藏」

    java游戏开发实例,吐血整理「建议收藏」专题1:JavaOOP1、什么是B/S架构?什么是C/S架构2、Java都有哪些开发平台?3、什么是JDK?什么是JRE?4、Java语言有哪些特点5、面向对象和面向过程的区别6、什么是数据结构?7、Java的数据结构有哪些?8、什么是OOP?9、类与对象的关系?10、Java中有几种数据类型11、标识符的命名规则。12、instanceof关键字的作用13、什么是隐式转换,什么是显式转换14、Char类型能不能转成int类

    2022年7月7日
    44
  • 大数据企业申报!2022年度武汉市大数据企业认定条件、流程和材料汇编

    大数据企业申报!2022年度武汉市大数据企业认定条件、流程和材料汇编武汉市大数据企业认定条件是怎样的 认定流程又是怎样的 认定材料要准备哪些

    2026年3月19日
    1
  • C#泛型入门泛型类、泛型集合、泛型方法、泛型约束、泛型委托

    C#泛型入门泛型类、泛型集合、泛型方法、泛型约束、泛型委托泛型集合和ArrayList的装箱拆箱、常见的泛型类型、泛型类和泛型方法、泛型约束、泛型委托泛型很难理解?不然在接触的一个新的概念的时候,总会感觉难以理解,当你掌握并能熟练地使用的时候,发现这个概念其实简单的,我相信大多数码农都会有这种似曾相识的感觉。可能大多数人刚学习泛型的时候觉得很难理解,当然我也是这样的,所以便写下这篇文章加深一下对泛型的印象。

    2022年7月11日
    18
  • scala的隐式转换学习总结(详细)

    scala的隐式转换学习总结(详细)scala隐式转换,详细介绍

    2022年10月11日
    3

发表回复

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

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