好久不写博文,本来是已经放弃了的,但是最近的确是被Jenkins整疯了,所以准备写一篇博文记录一下。本文将详细的介绍Jenkins+Subversion+maven+SonarQube集成CI服务器的过程,当然主要是以Windows操作系统作为基础。
Windows下安装Jenkins和sonar
Jenkins安装
- Jenkins安装方法大致分为两种,一是下载对应的安装包,双击安装包后进行安装。二是下载war包,将war包放在tomcat服务器下(推荐)。
- Jenkins一般在官网下载就好了,官网地址是:https://jenkins.io/index.html。可直接下载war包。
- SVN、maven、MySQL这些东西就不再赘述了。可自行安装。
-
SonarQube安装共有两个,博主安装的时候很智障的以为Jenkins能自动启动SonarQube的服务,所以只安装了Jenkins的SonarQube的插件。插件安装有两种方法,一是:在Jenkins启动之后,点击“系统管理”–>“插件管理”–>“可选插件”中搜索SonarQube Scanner for Jenkins,勾选后点击直接安装即可。但这种方法一般需要翻墙。能不能安装上完全看个人运气。 第二种方法是离线安装(推荐):首先下载SonarQube插件: https://wiki.jenkins-ci.org/display/JENKINS/SonarQube+plugin。 如下图所示:<img alt=”sonar” src=”/styles/images/CIServer/sonar.png”> 然后在Jenkins的“系统管理”–>“插件管理”–>“高级”中点击上传插件,将下载好的sonar插件上传上去(一般下载后的插件名字为:sonar.hpi)。重启服务器,在插件管理–>“已安装”中可查看 SonarQube Plugin 是否存在。<img alt=”sonarPlgin” src=”/styles/images/CIServer/sonarPlugin.png”>
- SonarQube插件安装好了,需要在“系统管理”–>“系统设置”–>“SonarQube”进行一系列的设置。如下图: <img src=”/styles/images/CIServer/sonarconfig.png”> <img src=”/styles/images/CIServer/sonarconfig2.png”>
注意: 当时博主天真的认为Jenkins只要安装SonarQube的插件就能启动SonarQube。所以很想找到不安装SonarQube的方法,但现实证明我失败了,还需继续安装SonarQube才行。
SonarQube安装
- sonarQube安装不分操作系统。直接访问SonarQube官网:https://www.sonarqube.org/downloads/选择版本下载就是。
-
下载完成,解压之后,还需修改sonar.properties文件,在安装目录的config文件中。博主用的是mysql数据库,所以修改大致如下:
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql: //127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
- 在安装目录中找到\bin\windows-x86-64\StartSonar.bat。运行即可。 <img src=”/styles/images/CIServer/sonarRun.jpg”>
4.为了方便起见,我们可以安装Windows服务,让SonarQube跟随系统启动。(不推荐)
注意:在启动SonarQube服务时,需先启动MySQL服务,不然SonarQube服务时启动不了的。
Jenkins配置
运行Jenkins之后,点击“系统管理”–>“Global Tool Configuration” 去进行一系列的插件设置
Maven配置
不说了,直接上图:<img src=”/styles/images/CIServer/maven1.png”><img src=”/styles/images/CIServer/maven2.png”>
JDK配置
<img src=”/styles/images/CIServer/jdk.png”>
SonarQube Runner配置
博主为了偷懒,(确切的是没有找到SonarQube Runner的安装地址) 所以直接用的自动安装。 <img src=”/styles/images/CIServer/sonarRunner.png”>
邮件通知等相关信息博主是用的163的邮箱:
- SMTP服务器:smtp.163.com
- 用户默认邮件后缀:@163.com
构建项目
1. 点击新建
输入项目名称和项目类型点击OK,进入项目配置页面 <img src=”/styles/images/CIServer/goujian.png”>
2. 配置项目
-
源码管理我是用的SVN来管理,如下图: <img src=”/styles/images/CIServer/goujian.png”>
-
构建触发器(什么时候down源代码到本地): <img src=”/styles/images/CIServer/chufaqi.png”>
第一个的意思是远程触发构建,就是访问url的方式触发构建
第二个的意思是另一个项目构建完成后,进行构建
第三个的意思是定时去构建(不论源代码是否有新的commit)
第四个略过
第五个定期去构建(有新的commit,才会触发构建)
第三个和第五个可以自己度娘一下表达式的书写。
-
Build <img src=”/styles/images/CIServer/build.png”>
-
构建设置中,邮件发送看自己。
-
构建后操作 <img src=”/styles/images/CIServer/afterbuild.png”>