Jenkins+SonarQube代码质量检查自动化

  1. 基础概念
    百度百科:
    Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
    1、持续的软件版本发布/测试项目。
    2、监控外部调用执行的工作。
    前面[Sonarqube 代码质量管理平台搭建]-已搭建完成,如何让Sonarqube按照我们想要规律进行工作呢?就靠Jenkins啦。
  2. 安装
    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迁移/备份 这个目录即可
![jenkins work.jpg](http://upload-images.jianshu.io/upload_images/1211247-a1bdf5fe7558bb22.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

3. 安装sonar插件
![管理插件.jpg](http://upload-images.jianshu.io/upload_images/1211247-a64fa4f7015cf5b1.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![插件安装.jpg](http://upload-images.jianshu.io/upload_images/1211247-16ae22706f0ca311.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
查找sonar-勾选-直接安装,安装好了如下
![已安装.jpg](http://upload-images.jianshu.io/upload_images/1211247-1903993eaf735a7a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

4. sonarqube 配置
系统管理-系统设置
添加Sonar runner
/usr/local/quality/sonar-runner-2.4/
如该目录下需要有./bin/sonar-runner 文件
添加SonarQube
![sonar.jpg](http://upload-images.jianshu.io/upload_images/1211247-98a47a056fea8a45.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![sonar配置成功.jpg](http://upload-images.jianshu.io/upload_images/1211247-0f48629f6216b41f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
5. 构建项目
新建项目-部分略
定时任务-略
![Invoke Standalone SonarQube Analysis.jpg](http://upload-images.jianshu.io/upload_images/1211247-33903c3646b75f09.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
在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. 执行构建
![执行构建.jpg](http://upload-images.jianshu.io/upload_images/1211247-916145a5ca496701.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
构建成功后,会自动将检查结果导入sonarqube的数据库中
![结果展示.jpg](http://upload-images.jianshu.io/upload_images/1211247-d19e7d68becd0ee0.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.安装好sonar的前提下 2.在jenkins的插件管理中选择安装sonar jenkins plugin,该...
    雷神VeryYoung阅读 4,231评论 0 1
  • 今天是自己工作日起得最早的一天。可能由于自己本来就有些失眠,或者本身就醒得比较早,之前即使醒得比较早也赖在床上。今...
    纸简书生阅读 2,682评论 3 0
  • 飞花令 花病仍怜叶底根, 葬花空误秀里心。 坐等花落...
    田曰天阅读 3,038评论 15 5
  • 你觉得这个世界上沟通的问题是这么好沟通的吗?我在这个公司一分一秒都待不下去,浪费时间
    天已微凉阅读 1,072评论 0 0
  • 盼望已久的国庆小长假终于到来了,我们准备回老家,以防中途堵车,9月30号晚上11点出发,一路上车比较稀少,但是还...
    万物菲菲阅读 1,144评论 0 0

友情链接更多精彩内容