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

[经验分享] Centos 7环境安装SonarQube和SonarQube Runner

[复制链接]

尚未签到

发表于 2018-4-20 09:33:20 | 显示全部楼层 |阅读模式
  SonarQube简介
Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言(支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex等)提供支持,对国际化以及报告文档化也有良好的支持。可以说Sonar是目前最强大的代码质量管理工具之一。
下面就来揭开Sonar的神秘面纱,看看如何在Centos环境上安装Sonar。
安装环境
系统环境:centos7.0 -x86_64(最小化安装)
前置条件:jdk1.8 , mysql-5.6
软件下载目录:/usr/local/
软件安装目录:/usr/local/
软件版本:sonarqube-6.7,sonar-runner-dist-2.4  sonar-scanner-3.0.3.778
sonarqube下载地址:http://www.sonarqube.org/downloads/
sonar-runner下载地址:https://link.jianshu.com/?t=http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
sonar-scanner下载扫描器地址:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778-linux.zip
  预置条件
1, 需要JDK1.6+支持;
DSC0000.jpg
添加环境变量
[root@localhost java]# vim /etc/profile
DSC0001.jpg
JDK
export JAVA_HOME=/usr/java/jdk1.8.0_101
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export TIME_STYLE='+%Y/%m/%d %H:%M:%S'
[root@localhost local]# source /etc/profile
  2, 需要Mysql数据库支持;虽然SonarQube自带了H2数据库,但是为了方便管理数据推荐使用Mysql数据库
安装Mysql数据库
安装MySQL的yum源
yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
安装MySQL
yum -y install mysql mysql-devel mysql-server mysql-utilities
启动MySQL
systemctl start mysqld.service
3,数据库配置
进入数据库命令
mysql -u root -p
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar. TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.
TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
  4,安装
在安装之前,介绍一下SonarQube和SonarQube Runner之间的关系。
SonarQube是服务器端,它主要有两个功能:1.分析源代码;2.因为它内嵌了Apache模块,所以提供Web端的界面访问。
SonarQube Runner是一个利用SonarQube服务端分析代码的命令行工具,可以把它简单理解为客户端。
所以,为了安装和调试方便,建议SonarQube和SonarQube Runner都下载。
  5, 安装SonarQube
第一步:将下载的sonarqube-6.7.zip解压后移动到/usr/local目录下。具体步骤如下:
DSC0002.jpg
将文件解压到/usr/local/
[root@localhost local]# unzip sonarqube-6.7
  第二步:配置环境变量
[root@localhost local]# vim /etc/profile
export SONAR_HOME=/usr/local/sonarqube-6.7
export SONAR_RUNNER_HOME=/usr/local/sonar-runner-2.4
PATH=$PATH:$SONAR_HOME/bin:$SONAR_RUNNER_HOME/bin
DSC0003.jpg
[root@localhost local]# source /etc/profile
第三步:配置sonar.properties
DSC0004.jpg
DSC0005.jpg
DSC0006.jpg
配置SonarQube Runner
[root@localhost local]# # unzip sonar-runner-dist-2.4.zip
DSC0007.jpg
DSC0008.jpg
[root@localhost sonar-runner-2.4]# vim sonar-project.properties
#Required metadata
sonar.projectKey=my:project
sonar.projectName=yaok
sonar.projectVersion=1.0
#Paths to source directories.
#Paths are relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
#Do not put the "sonar-project.properties" file in the same directory with the source code.
#(i.e. never set the "sonar.sources" property to ".")
sonar.sources=/root/java
#The value of the property must be the key of the language.
sonar.language=java
#Encoding of the source code
sonar.sourceEncoding=UTF-8
#Additional parameters
sonar.my.property=value

DSC0009.jpg
[root@localhost sonar-runner-2.4]# ./bin/sonar-runner -e -X
DSC00010.jpg
如果能够看到下面的输出信息,证明你的SonarQube Runner安装并配置正确啦。
6,安装后启动SonarQube
用root无法启动lSonarQube,需要另外新建普通用户来启动
[root@localhost ]# useradd esadmin
[root@localhost local]# chown esadmin.esadmin sonarqube-6.7
[root@localhost sonarqube-6.7]# vim elasticsearch/config/elasticsearch.yml
开启以下两行
DSC00011.jpg
[root@localhost sonarqube-6.7]# su esadmin
[esadmin@localhost sonarqube-6.7]$ ./bin/linux-x86-64/sonar.sh start
启动的时候会报错
1,错误:max file descriptors [4096] for elasticsearch process is too low, increase to at least
解决方法:
[root@localhost ]#vim /etc/security/limits.conf
esadmin hard nofile 65536
esadmin soft nofile 65536
在文件最后添加以上两行
查看文件限制命令
[esadmin@localhost sonarqube-6.7]$ ulimit -Hn
DSC00012.jpg
2,错误,max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法:
切换到root用户修改配置sysctl.conf
[root@localhost]#vim /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
[root@localhost java]# sysctl -p
DSC00013.jpg
解决好以上错误后就可以重启SonarQube
[esadmin@localhost sonarqube-6.7]$ ./bin/linux-x86-64/sonar.sh start
[root@localhost sonarqube-6.7]# ps -aux |grep sonar
DSC00014.jpg
使用浏览器就可以直接登陆
http://192.168.0.39:9000/projects
DSC00015.jpg
7,安装中文语言包
DSC00016.jpg
选择语言包,点击安装,安装好后重启,重新进入就是汉化版了

  下篇讲解如何利用Jenkins和SonarQube集成对代码进行持续检测
注:有些文字来自互联网

运维网声明 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-449451-1-1.html 上篇帖子: CentOS7的/tmp目录自动清理规则 下篇帖子: CENTOS6安装MySQL5.7
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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