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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 多国语言在线客服系统源码+软件下载二合一集成

    多国语言在线客服系统源码+软件下载二合一集成  本文分三部分系统介绍如何开发一套在线客服系统聊天源码,该源码基于ThinkPHP,代码完全开源。  首先,我们只使用@auth指令。  其次,我们添加一个带有参数的订阅类型。  第三,我们更新@auth指令和订阅类型。  完整源码:kf.zxkfym.top  1使用@auth指令并执行身份验证  添加和使用身份验证$amplifyaddauthScanningforplugins…PluginscansuccessfulUsingservice:Cog

    2022年7月19日
    29
  • secureCRT乱码问题

    一、乱码如下:1、输入命令控制台乱码,如下图所示。二、解决方式:1、点击SercureCRT上排主菜单的“Options”,也就是“选项”菜单,如下图:2、点击【Options】之后,会出现一个下拉列表,我们选择第一个“SessionOptions…”,如下图所示。3、在弹出框中选择目录中的“Appearance”,该功能可以对SercureCRT的外观进行设置,如下图所示。4、S…

    2022年4月6日
    149
  • 服务器中”系统平均负载 Load average“含义学习

    服务器中”系统平均负载 Load average“含义学习文章目录一、什么是系统平均负载二、衡量系统性能三、行车过桥(引用)四、自我总结一、什么是系统平均负载  uptime、w、top等命令都会有系统负载loadaverage的输出,系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数,包括可运行状态和不可中断状态的平均进程数,也就是活跃进程数。它和cpu使用率没有直接的关系二、衡量系统性能  如果系统平均负载的数值除以CPU的数目高于…

    2025年11月7日
    5
  • 行为识别笔记:improved dense trajectories算法(iDT算法)

    行为识别笔记:improved dense trajectories算法(iDT算法)iDT算法是行为识别领域中非常经典的一种算法,在深度学习应用于该领域前也是效果最好的算法。由INRIA的IEAR实验室于2013年发表于ICCV。目前基于深度学习的行为识别算法效果已经超过了iDT算法,但与iDT的结果做ensemble总还是能获得一些提升。所以这几年好多论文的最优效果都是“Ourmethod+iDT”的形式。此前由于项目原因,对iDT算法进行了很多研究和实验,故此处对其核心思路与

    2022年6月21日
    23
  • html鼠标样式怎么去掉,CSS鼠标样式cursor属性怎么设置

    html鼠标样式怎么去掉,CSS鼠标样式cursor属性怎么设置CSS鼠标样式可以通过设置cursorg属性,从而达到鼠标在对象上移动的鼠标样式。一般在网页中一些特殊版块布局时,会遇到这类需求,比如鼠标经过指针变为手指形状等样式,接下来我们介绍鼠标指针样式cursor控制。系统默认鼠标指针样式外,还可以通过CSS设置图片等元素为鼠标指针样式,比如有些网站鼠标指针是各种各样小图片样式,当然这个是通过csscursor设置鼠标样式。CSS鼠标样式cursor语法…

    2022年5月29日
    45
  • 让我教你怎么做个人_如何制作app平台

    让我教你怎么做个人_如何制作app平台我们都知道,开发一个app很大程度依赖服务端:服务端提供接口数据,然后我们展示;另外,开发一个app,还需要美工协助切图。没了接口,没了美工,app似乎只能做成单机版或工具类app,真的是这样的吗?先来展示下我的个人app,没有服务端,没有美工完成的,换言之,我干了所有人的活:这个app叫“微言”,他对于我意义很重大,最初微言只是我一个练手的项目,刚刚工作,技术有限,微言只是sqlite

    2022年10月21日
    4

发表回复

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

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