前言
上一篇随笔 Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以及怎么将自己的模块上传至nexus私服,供其他模块引用。下面将主要介绍如何利用Jenkins、SVN、Tomcat以及Sonar来完成项目的自动化编译、测试和发布,以及检查项目的代码质量。
利器Jenkins
Jenkins源于另外一个持续集成工具Hudson,Hudson在oracle收购sun之前,是开源社区在开发和维护,oracle收购sun之后声明拥有hudson的商标使用权,后来开发hudson的开源力量只能重新起个名字“Jenkins”来继续开发,原Hudson则由oracle持续维护,但更新速度比较慢。
jenkins地址: http://jenkins-ci.org/
hudson地址: http://hudson-ci.org/
可以看到hudson官网右下角oracle的版权logo。我们这里就使用Jenkins来搭建持续集成环境。
首先从官方上下载jenkins, http://mirrors.jenkins-ci.org/war/ 可以选择不同的版本。下载完成后放置在服务器某个目录下,cd到该目录下,执行:
java -jar jenkins.war
jenkins内置一个jetty容器,默认使用8080端口,如果你的8080被占用了,请执行:
java -jar jenkins.war --httpPort=8081
当然你也可以直接把war包放到tomcat目录下启动,这样jenkins就启动起来了。
来到这个界面我们先做一个事情:系统配置,主要是配置maven和发布插件。
1、进入“系统管理”——>“系统设置”:
新增maven,将linux上安装好的maven配置上去。
其他保持默认配置,保存!
2、进入“系统管理”——>“管理插件”——>“高级”上传插件
上传完成之后,jenkins就具备了发布web应用到tomcat各类容器的能力。
注:deploy.hpi插件是我事先从网上下载好了,你也可以使用jenkins自带的插件安装功能完成插件安装,但那个比较慢。
3、配置linux服务器上的maven,跟上篇类似你也需要配置linux服务器上的maven,使之连接到nexus私服,以及支持发布模块到nexus上。
在<settings><servers></servers></settings>节点之间添加:
1: <server>
2: <id>snapshots</id>
3: <username>deployment</username>
4: <password>123456</password>
5: </server>
6: <server>
7: <id>releases</id>
8: <username>deployment</username>
9: <password>123456</password>
10: </server>
在<settings></settings>节点之间添加:
1: <profiles>
2: <profile>
3: <id>dev</id>
4: <repositories>
5: <repository>
6: <id>local-nexus</id>
7: <url>http://192.168.0.109:8081/nexus/content/groups/public/</url>
8: <releases>
9: <enabled>true</enabled>
10: </releases>
11: <snapshots>
12: <enabled>true</enabled>
13: </snapshots>
14: </repository>
15: </repositories>
16: </profile>
17: </profiles>
18:
19: <!-- activeProfiles | List of profiles that are active for all builds. | -->
20: <activeProfiles>
21: <activeProfile>dev</activeProfile>
22: </activeProfiles>
完成这些配置,我们就可以在jenkins上新建项目了。
我们事先在eclipse中开发的三个项目:maven-parent(父项目,用于统一类库版本)、maven-support(后端模块,支撑web项目)、maven-sample(web项目,依赖maven-support),依次来添加:
下一步进入后,主要配置两个地址,svn和maven命令。
根据提示进行SVN用户名、密码认证即可。
对于maven-parent项目,我们执行install命令即可。保存!
接着创建maven-support项目,由于该项目是后端模块,需要发布到nexus服务器上,所以稍有不同:
这里需要执行deploy命令,将该项目发布到nexus上。另外你最好配置该项目构建在maven-paremt执行之后开始:
最好保存!
最好创建maven-sample项目,这是个web项目,配置又稍有不同:
执行package命令将项目打包成war包。下面做最重要的事情:将打包后的war包自动发布到tomcat下:
注意几点:
1、WAR/EAR files,一定要填写相对地址;
2、Manager username、Manager password是你安装的tomcat用户名、密码,如果没有请通过tomcat的配置文件tomcat-users.xml设置。
3、tomcat url为你安装的tomcat访问地址。
最后还是设置下构建顺序,让它在maven-support执行完成之后构建:
保存!
jenkins首页上就出现了三个我们创建好的项目,我们只需要构建maven-parent就可以了,因为我们设置了构建顺序:
查看构建信息,可以看到构建的进程,项目先从svn更新下来,然后进行编译,运行测试用例,打包,发布的过程。整个过程都由jenkins完成,
至此jenkins就实现了自动化编译、测试(自己写测试用例)、打包发布、部署。
可以看到tomcat上已经多了maven-sample应用。
部署Sonar
从 http://www.sonarqube.org/ 官网上下载sonar安装包,解压到系统目下,进入到bin目录下,选择你的系统版本,进入后执行:
./sonar.sh start
sonar就启动起来了,默认的端口是9000,你也可以到conf/sonar.properties配置文件中修改:
sonar.web.port: 8066
在Jenkins安装sonar插件
和安装deploy插件方法类似,我们在系统管理——插件管理中,上传sonar插件。安装完成之后,请重启jenkins。
配置jenkins的sonar插件:
进入系统配置
根据你的情况配置sonar,我这里仅仅修改过sonar的应用端口,所以只需要配置这个,其他保留默认值。
进入特定项目配置sonar:
选择下maven版本,其他保留默认值。保存!
然后开始构建项目,构建完成后,可以看到该项目的代码检查结果已经被导入到sonar平台上,通过sonar系统就可以方便查看该项目的代码质量情况:
sonar可以检查代码的复杂度、代码重复、单元测试覆盖率、是否有注释、潜在bug等代码问题,对于sonar的项目介绍,可以进一步去研究摸索,在这里仅介绍jenkins和sonar整合的方法,可以再实际工作时进一步研究。
小结
本文主要介绍如何搭建jenkins以及怎么利用maven、deploy插件打包、发布你的项目,最后使用jenkins和sonar配合进行项目的代码质量检查。完成整个过程我们可以发现,以往的测试、打包、发布、代码检查的工作都可以由人工转化工具来完成,让程序员的宝贵时间集中在开发上。回过头看Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 开头的故事,我们可能会有不同的认识。
http://www.tuicool.com/articles/7zAj6j
相关推荐
"持续集成环境搭建" ...搭建一个完整的持续集成环境需要使用多种工具和技术,例如 Maven、Nexus、Jenkins 和 SVN 等。通过使用这些工具和技术,我们可以自动化构建、测试和部署软件,从而提高软件的质量和开发效率。
Jenkins+Maven+Windows+svn+sonarqube持续集成平台搭建图文指南
搭建一个持续集成的环境,并且能够检测代码的质量,使你的Java开发更加便捷与智能,大大地提高开发效率,你值得拥有
通过以上步骤,我们成功地搭建了一个基于 Jenkins、SonarQube、Maven、SVN 和 Tomcat 的集成部署环境。这不仅有助于自动化软件构建和测试过程,还能够提升代码质量,并实现快速、稳定的软件发布。
本文将详细介绍如何在Windows操作系统上搭建一套完整的集成开发环境,包括Tomcat服务器、Jenkins持续集成工具、Subversion(SVN)版本控制系统以及SonarQube代码质量管理平台。这套环境对于持续集成、代码质量管理...
持续集成,代码审查配置
### Jenkins 持续集成环境搭建详解 #### Jenkins 概述 Jenkins 是一款非常流行的开源持续集成(CI)和持续部署(CD)工具,它能够帮助开发团队自动化完成软件的构建、测试以及部署过程。借助于其强大的插件生态系统...
### Sonar与Maven的集成使用说明 #### 一、Sonar简介与本地环境搭建 Sonar是一款开源的代码质量管理工具,它支持多种语言,并且能够帮助开发团队进行持续的代码质量检查。Sonar可以自动地对源代码进行分析,提供...
### Jenkins-SonarQube 持续集成使用文档 #### 一、Jenkins与SonarQube简介 - **Jenkins**:是一款开源的持续集成工具,支持自动化构建、测试和部署等流程,适用于各种编程语言和构建环境。通过插件机制,Jenkins...
jenkins 持续集成自动部署可以使用 Sonar 任务来实现。Sonar 任务可以对代码进行分析和检查,提供了代码质量和安全性报告。 八、jenkins 执行 Sonar 任务 jenkins 执行 Sonar 任务可以使用 Sonar 插件来实现。...
Sonar与DevOps工具链的深度整合使得它可以无缝对接Jenkins、TFS/VSTS、TeamCity、Bamboo等持续集成引擎,以及git、svn、cvs等源代码管理工具。 在搭建Sonar和Jenkins的自动化分析平台时,首先需要确保满足一定的...
**Jenkins持续集成** Jenkins是一款开源的持续集成(CI)服务器,用于自动化各种软件开发过程,包括构建、测试和部署。它支持多种版本控制系统,如Git,SVN等,并可以与其他工具,如Maven、Ant配合使用。通过定时...
9. Jenkins插件管理:Jenkins的插件管理功能强大,支持Jenkins与Maven、Git、SVN、Sonar、Gerrit、Email-ext等工具的集成。通过插件管理可以扩展Jenkins的功能,支持更多复杂的项目构建和管理需求。 10. Jenkins...
### Jenkins环境搭建 Jenkins可以在不同操作系统上运行,包括Windows、Linux、Mac OS X等。在Windows环境下安装Jenkins通常涉及下载Windows安装程序或war包,通过java命令启动Jenkins服务。对于Linux系统,通常需要...
2. **使用Tomcat部署**:对于生产环境或者需要更稳定服务的情况,可以选择使用Tomcat服务器来部署Jenkins。具体步骤包括: - 将Jenkins WAR文件放置到Tomcat的webapps目录下。 - 启动Tomcat服务器。 - 通过浏览器...
本文将详细介绍如何在Linux环境下离线安装Jenkins,并关注于支持Subversion (svn)、SonarQube (sonar)、Ant等工具的插件安装。 首先,你需要下载Jenkins的war包,这是Jenkins服务器的基础。然后,你需要在有网络的...
3. **持续集成**:与各种构建工具(如Maven、Gradle、Jenkins等)无缝集成,可以在每次构建过程中执行代码分析,确保新添加的代码符合质量标准。 4. **报告生成**:分析完成后,SonarScanner会生成详细的报告,展示...
4. **sonar.jpi**:SonarQube插件,用于将SonarQube的质量分析集成到Jenkins的构建流程中,帮助发现和修复代码问题。 5. **pipeline-model-api.jpi**:Pipeline Model API插件,是Jenkins Pipeline的组成部分,支持...