- 基础概念
百度百科:
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
前面[Sonarqube 代码质量管理平台搭建]-已搭建完成,如何让Sonarqube按照我们想要规律进行工作呢?就靠Jenkins啦。 - 安装
Jenkins的安装很简单,官网提供的安装方式如下
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins
#启动/停止/重启命令
sudo service jenkins start/stop/restart
#设置自启动
sudo chkconfig jenkins on
```
需要有JAVA环境,此处略。
访问:http://ip:8080/
配置文件:/etc/sysconfig/jenkins
JENKINS_HOME="/var/lib/jenkins"
JENKINS_PORT="8080"
> /var/lib/jenkins
Jenkins所有配置和所有操作存放的位置
Jenkins迁移/备份 这个目录即可

3. 安装sonar插件


查找sonar-勾选-直接安装,安装好了如下

4. sonarqube 配置
系统管理-系统设置
添加Sonar runner
/usr/local/quality/sonar-runner-2.4/
如该目录下需要有./bin/sonar-runner 文件
添加SonarQube


5. 构建项目
新建项目-部分略
定时任务-略

在Analysis properties中输入检查规则,以下是运用多个检查项的规则
required metadata
projectKey项目的唯一标识,不能重复。
sonar.projectKey=chances_cms
projectName值不能是中文,否则web页面部分是乱码
sonar.projectName=chances_cms
sonar.projectVersion=4.0
sonar.sourceEncoding=UTF-8
sonar.modules=java-module,javascript-module,html-module,CSS-module
Java module
java-module.sonar.projectName=chances_cms_java
java-module.sonar.language=java
.表示projectBaseDir指定的目录
java-module.sonar.sources=src
java-module.sonar.projectBaseDir=.
sonar.binaries=classes
JavaScript module
javascript-module.sonar.projectName=chances_cms_js
javascript-module.sonar.language=js
javascript-module.sonar.sources=webapp
javascript-module.sonar.projectBaseDir=.
Html module
html-module.sonar.projectName=chances_cms_html
html-module.sonar.language=web
html-module.sonar.sources=webapp
html-module.sonar.projectBaseDir=.
CSS module
CSS-module.sonar.projectName=chances_cms_css
CSS-module.sonar.language=css
CSS-module.sonar.sources=webapp
CSS-module.sonar.projectBaseDir=.
6. 执行构建

构建成功后,会自动将检查结果导入sonarqube的数据库中

网友评论
我上面的例子 Jenkins 只做了两件事情
1)和svn同步拿代码
2)使用sonarqube 检查