设为首页 收藏本站
查看: 1961|回复: 0

[经验分享] 配置sonarqube_jenkins进行持续JAVA代码自动构建审查

[复制链接]

尚未签到

发表于 2018-9-3 12:27:35 | 显示全部楼层 |阅读模式
  本文以CentOS操作系统为例介绍SonarQube的安装配置,以及如何与Jenkins进行集成
  服务器环境:
  [root@db-server data]# uname  -a
  Linux db-server 3.10.0-327.36.3.el7.x86_64
  [root@db-server data]# java -version
  openjdk version "1.8.0_111"
  [root@db-server data]# nginx -v
  nginx version: nginx/1.10.2
  [root@db-server data]# mysql -V
  mysql  Ver 15.1 Distrib 5.5.50-MariaDB
  sonarqube-5.3.zip
  一、安装配置sonar和配置数据库
  1、Sonar介绍
  Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
  同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
  此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。
  可以下载官网最新的sonarqube包,但是我这次是安装的sonarqube的5.3的版本
  https://www.sonarqube.org/downloads/
  找到对应的版本下载即可,我此处已经下载上传到我的百度云盘里面了http://pan.baidu.com/s/1c2aOor2
  下载到本地,在通过lrzsz上传到服务器
DSC0000.png

  sonar.properties我这里配置的sonarqube的配置文件,可以适当的修改成符合自己的文件
  sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance  #链接的数据库
  sonar.jdbc.username=root   #用户
  sonar.jdbc.password=root12300. #密码
  sonar.sorceEncoding=UTF-8 #字符集
  sonar.login=admin  #登录账号
  #sonar.projectKey=hanye:11   #key
  #sonar.projectName=hanye   #显示的名字
  sonar.projectVersion=1.0  #项目版本
  sonar.password=admin    #登录密码
  配置数据库
  mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

  mysql> CREATE USER 'sonar'>
  mysql> GRANT ALL ON sonar.* TO 'sonar'@'%'>
  mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost'>  mysql> FLUSH PRIVILEGES;
  启动sonarqube
  我这里安装到了data目录
  [root@db-server sonarqube-5.3]# cd /data/sonarqube-5.3
  配置文件: conf
  日志位置:bin
  启动脚本位置:log
  [root@db-server sonarqube-5.3]# ./bin/linux-x86-64/sonar.sh restart
DSC0001.png

  这里sonarqube会占用9000和9001端口,需要修改的话自行修改配置文件修改端口即可,修改之后,jenkins上链接sonar的端口也要修改
  登录查看
DSC0002.png

  二、安装配置jenkins,maven,jdk
  参考我的博客:http://www.ny01.top/?p=126
  配置安装jenkins的jdk和maven
  系统管理->Global Tool Configuration->JDK
DSC0003.png

  系统管理->Global Tool Configuration->maven
DSC0004.png

  三、jenkins配置sonarqube插件和安装sonarqube scanner
  安装sonarqube plugin插件
  系统管理->插件管理->可选插件->sonarqube plugin 点击安装
DSC0005.png

  安装sonarqube Scanner
  系统管理->Global Tool Configuration->sonarqube scanner
DSC0006.png

  配置链接sonarqube
  系统管理-》系统设置-》SonarQube servers
DSC0007.png

DSC0008.png

  登录sonarqube的web端,找到administrator
  login-》administrator-》security-》user
DSC0009.png DSC00010.png DSC00011.png DSC00012.png DSC00013.png

  开始创建项目测试了
  创建一个maven项目名字为test_scan_sonar
  我这里的代码放在了svn上面
DSC00014.png

  其他的默认即可
  找到Pre Steps
DSC00015.png

DSC00016.png

  其他的保持默认即可
  创建完毕之后  点击  立即构建
DSC00017.png

  然后等待下载依赖环境,和自动构建即可  时间可能比较长
  构建的时候如果遇到
SonarQube scanner exited with non-zero code: 1  问题,基本上就是sonarqube的scm忘记打开了,于是登录sonarqube的web端开启scm
  administrator-》configureation-》General Settings-》SCM
  吧Disable the SCM Sensor  设置为TRUE,点击 save SCM settings即可   再次构建即可看到效果了
DSC00018.png

  构建完毕之后,就可以登录到jenkins和sonarqube来看代码是不是有问题了
DSC00019.png

  点击hz7726上面的OK  即可跳转到刚刚你设置的那个连接sonarqube的web端口,查看即可
DSC00020.png

  登录之后发现hz7726已经出来了,其他的都是找开发修改这个代码了
DSC00021.png

  仅供参考,大神勿喷,如果有问题可以邮件hz7726@163.com 联系,或者qq:1263567419 反正我也帮不了你
  注意: 如果项目较多,可以修改
  里面的projectKey和ProjectName来识别不同的项目



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-562050-1-1.html 上篇帖子: jenkins调用qq企业邮箱发送邮件 下篇帖子: Docker+Jenkins+GIT+Tomcat实战持续化集成
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表