java sonar maven svn_使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

本文详细介绍如何使用Maven、Nexus、Jenkins、SVN、Tomcat及Sonar搭建自动化持续集成环境,涵盖项目自动化编译、测试、部署及代码质量检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言html

上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以及怎么将本身的模块上传至nexus私服,供其余模块引用。下面将主要介绍如何利用Jenkins、SVN、Tomcat以及Sonar来完成项目的自动化编译、测试和发布,以及检查项目的代码质量。java

利器Jenkinslinux

Jenkins源于另一个持续集成工具Hudson,Hudson在oracle收购sun以前,是开源社区在开发和维护,oracle收购sun以后声明拥有hudson的商标使用权,后来开发hudson的开源力量只能从新起个名字“Jenkins”来继续开发,原Hudson则由oracle持续维护,但更新速度比较慢。程序员

能够看到hudson官网右下角oracle的版权logo。咱们这里就使用Jenkins来搭建持续集成环境。tomcat

首先从官方上下载jenkins,http://mirrors.jenkins-ci.org/war/ 能够选择不一样的版本。下载完成后放置在服务器某个目录下,cd到该目录下,执行:服务器

java -jar jenkins.war

jenkins内置一个jetty容器,默认使用8080端口,若是你的8080被占用了,请执行:oracle

java -jar jenkins.war --httpPort=8081

固然你也能够直接把war包放到tomcat目录下启动,这样jenkins就启动起来了。eclipse

35e33b6c3c174ef2a02aa468.html

来到这个界面咱们先作一个事情:系统配置,主要是配置maven和发布插件。

一、进入“系统管理”——>“系统设置”:

新增maven,将linux上安装好的maven配置上去。

35e33b6c3c174ef2a02aa468.html

其余保持默认配置,保存!

二、进入“系统管理”——>“管理插件”——>“高级”上传插件

35e33b6c3c174ef2a02aa468.html

上传完成以后,jenkins就具有了发布web应用到tomcat各种容器的能力。

注:deploy.hpi插件是我事先从网上下载好了,你也能够使用jenkins自带的插件安装功能完成插件安装,但那个比较慢。

三、配置linux服务器上的maven,跟上篇相似你也须要配置linux服务器上的maven,使之链接到nexus私服,以及支持发布模块到nexus上。

在节点之间添加:

1:    

2:      snapshots

3:      deployment

4:      123456

5:    

6:      

7:      releases

8:      deployment

9:      123456

10:    

在节点之间添加:

1:  

2:          

3:              dev

4:              

5:                  

6:                      local-nexus

7:                      http://192.168.0.109:8081/nexus/content/groups/public/

8:                      

9:                          true

10:                      

11:                      

12:                          true

13:                      

14:                  

15:              

16:          

17:      

18:

19:      

20:      

21:          dev

22:      

完成这些配置,咱们就能够在jenkins上新建项目了。

咱们事先在eclipse中开发的三个项目:maven-parent(父项目,用于统一类库版本)、maven-support(后端模块,支撑web项目)、maven-sample(web项目,依赖maven-support),依次来添加:

35e33b6c3c174ef2a02aa468.html

下一步进入后,主要配置两个地址,svn和maven命令。

35e33b6c3c174ef2a02aa468.html

根据提示进行SVN用户名、密码认证便可。

35e33b6c3c174ef2a02aa468.html

对于maven-parent项目,咱们执行install命令便可。保存!

接着建立maven-support项目,因为该项目是后端模块,须要发布到nexus服务器上,因此稍有不一样:

35e33b6c3c174ef2a02aa468.html

这里须要执行deploy命令,将该项目发布到nexus上。另外你最好配置该项目构建在maven-paremt执行以后开始:

35e33b6c3c174ef2a02aa468.html

最好保存!

最好建立maven-sample项目,这是个web项目,配置又稍有不一样:

35e33b6c3c174ef2a02aa468.html

执行package命令将项目打包成war包。下面作最重要的事情:将打包后的war包自动发布到tomcat下:

35e33b6c3c174ef2a02aa468.html

注意几点:

一、WAR/EAR files,必定要填写相对地址;

二、Manager username、Manager password是你安装的tomcat用户名、密码,若是没有请经过tomcat的配置文件tomcat-users.xml设置。

三、tomcat url为你安装的tomcat访问地址。

最后仍是设置下构建顺序,让它在maven-support执行完成以后构建:

35e33b6c3c174ef2a02aa468.html

保存!

jenkins首页上就出现了三个咱们建立好的项目,咱们只须要构建maven-parent就能够了,由于咱们设置了构建顺序:

35e33b6c3c174ef2a02aa468.html

查看构建信息,能够看到构建的进程,项目先从svn更新下来,而后进行编译,运行测试用例,打包,发布的过程。整个过程都由jenkins完成,

35e33b6c3c174ef2a02aa468.html

35e33b6c3c174ef2a02aa468.html

至此jenkins就实现了自动化编译、测试(本身写测试用例)、打包发布、部署。

35e33b6c3c174ef2a02aa468.html

能够看到tomcat上已经多了maven-sample应用。

35e33b6c3c174ef2a02aa468.html

部署Sonar

从http://www.sonarqube.org/官网上下载sonar安装包,解压到系统目下,进入到bin目录下,选择你的系统版本,进入后执行:

./sonar.sh start

sonar就启动起来了,默认的端口是9000,你也能够到conf/sonar.properties配置文件中修改:

sonar.web.port:                           8066

35e33b6c3c174ef2a02aa468.html

在Jenkins安装sonar插件

和安装deploy插件方法相似,咱们在系统管理——插件管理中,上传sonar插件。安装完成以后,请重启jenkins。

35e33b6c3c174ef2a02aa468.html

配置jenkins的sonar插件:

进入系统配置

35e33b6c3c174ef2a02aa468.html

根据你的状况配置sonar,我这里仅仅修改过sonar的应用端口,因此只须要配置这个,其余保留默认值。

进入特定项目配置sonar:

35e33b6c3c174ef2a02aa468.html

35e33b6c3c174ef2a02aa468.html

选择下maven版本,其余保留默认值。保存!

而后开始构建项目,构建完成后,能够看到该项目的代码检查结果已经被导入到sonar平台上,经过sonar系统就能够方便查看该项目的代码质量状况:

sonar能够检查代码的复杂度、代码重复、单元测试覆盖率、是否有注释、潜在bug等代码问题,对于sonar的项目介绍,能够进一步去研究摸索,在这里仅介绍jenkins和sonar整合的方法,能够再实际工做时进一步研究。

35e33b6c3c174ef2a02aa468.html

35e33b6c3c174ef2a02aa468.html

小结

本文主要介绍如何搭建jenkins以及怎么利用maven、deploy插件打包、发布你的项目,最后使用jenkins和sonar配合进行项目的代码质量检查。完成整个过程咱们能够发现,以往的测试、打包、发布、代码检查的工做均可以由人工转化工具来完成,让程序员的宝贵时间集中在开发上。回过头看Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)开头的故事,咱们可能会有不一样的想法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值