jenkins+maven+svn自动部署和发布的详细图文教程
作者:菜鸟的奋斗ing 发布时间:2023-08-24 05:18:07
Jenkins
Jenkins是一个开源的、可扩展的持续集成、交付、部署的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。
通常我们使用Jenkins主要实现以下功能:
持续集成指的是,频繁地(一天多次)将代码集成到主干。将软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。
持续交付指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
正文开始
博主前几个月刚被忽悠到一家创业公司(主要是看上这个行业的前景),博主进来主要的工作是java web后台开发和android应用开发。就这样在这家公司熟悉了一个星期的业务之后,开始维护和开发项目了。有一天令我惊讶的事情发生了——我修改代码之后提交到svn,准备发布项目了,我就问我们老大发布的网址是什么?他的回答让我很惊讶,他说没网址(当时不知道他是不是没听懂我的意思),我就问你们平时怎么发布web项目的,他的回答把我雷到了,他说将本地编译的class通过FileZilla替换到服务器中的tomcat容器中相应的项目的对应目录, * -有么有搞错,我第一次遇到有这么干的(我在想多人协作开发怎么搞啊、要是替换了class文件,但是忘记了提交svn,后面出问题了怎么办...),心里想完了,这都是什么技术部啊,这次被坑到这么个公司。我问老大这么 * 们没出过问题么?老大回答以前出过问题,反正项目被他们搞得特别乱,一个项目有N多个备份的版本,而且不知道哪个是正确的,听到这话心塞。没办法为了防止我后面遇到类似的问题,只能自己来搭建jenkins环境啊,自动部署保证svn的代码和tomcat中的项目时刻对应上。好了废话说的有点多,直接上如何部署吧
首先的在linux安装相应的软件咯(jdk、jenkins、tomcat、maven),这些在本博客中就不介绍了,大家自行百度吧,本博客默认所有的软件都已经安装完了
1,在jenkins中配置maven和jdk环境
(1) 进入配置界面--->【系统管理】--->【全局工具配置】
(2) 配置maven的settings.xml
(3)配置jdk
(4)配置maven
上面的步骤完成了就可以直接配置新的项目了
2、创建所要创建的项目
(1)新建maven项目
(2)点击进入项目配置
(3)项目详细配置:General
(4)源码管理,为了全屏能看到,我将浏览器缩小了
(5)构建触发器
(6)build
完成上述步骤,就能够对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)配置
来源:https://blog.csdn.net/hongtaolong/article/details/83451507


猜你喜欢
- cc3利用链如下:TrAXFilter(Templates templates) TemplatesImpl-&a
- 本文实例为大家分享了C语言实现航空订票系统的具体代码,供大家参考,具体内容如下大一写的时候没有写注释,后来也懒得加了。在这里说一下读写文件的
- 废话不多说,直接奉上代码:Frame.javapackage snake;import java.awt.Graphics;import j
- 在service层注入mapper时报空指针今天又遇到一个极其刁钻的问题,废话不多说先上代码,测试单元@RunWith(SpringRunn
- 通过Canvas的平移与旋转简化绘图逻辑是一个非常有用的技巧,下面的时钟view就是利用这个方法完成的,省去了使用三角函数计算坐标的麻烦。p
- 编写按钮属性首先再values/themes 或者values/style在文件下编写按钮属性buttonBarPositiveButton
- WebService是一种传统的SOA技术架构,它不依赖于任何的编程语言,也不依赖于任何的技术平台,可以直接基于HTTP协议实现网络应用间的
- 我实现的思路:1.继承ImageView类2.重写onTouchEvent方法,在ACTION_MOVE(即移动时),记录下所经过的点坐标,
- 在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果:其一,通过在代码中
- 购物车项目,业务需要实现了一个购物车的项目,简单的了解下实现逻辑:数据计算等是在Adapter中计算出来的,通过在Adapter中计算出来的
- 1.例如下面的代码片段,Toast类的第一个参数接受一个Context对象:@Override protected Dialog onCr
- 最近做的一个项目涉及到文件上传与下载。前端上传采用百度webUploader插件。有关该插件的使用方法还在研究中,日后整理再记录。本文主要介
- Android 自定义View实现抽屉效果说明这个自定义View,没有处理好多点触摸问题View跟着手指移动,没有采用传统的scrollBy
- 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远
- 前言Postman是一款Http请求模拟工具.它可以模拟各种Http Request,使用起来十分的方便.使用背景利用Spring Boot
- 线程可以有六种状态:1.New(新创建)2.Runnable(可运行)(运行)3.Blocked(被阻塞)4.Waiting(等待)5.Ti
- 下面是android SDK中API中的主要java包的功能简介: android.app :提供高层的程序模型、提供基本的运行环
- 由于 * 一般都比较难理解,程序设计者会设计一个 * 接口供开发者使用,开发者只要知道 * 接口的方法、含义和作用即可,无须知道 * 是
- 这篇文章主要介绍了Java自定义实现equals()方法过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- Spring Boot提供的监控接口,例如:/health、/info等等,实际上除了之前提到的信息,还有其他信息业需要监控:当前处于活跃状