西安青穗信息技术有限责任公司
主营产品: 安全软件
sonarqube许可证购买-授权许可-中国总代理-价格-服务商
价格
订货量(0)
面议
≥1
店铺主推品 热销潜力款
ῡῤ῟῟ῥῧῥ῟ῧῢῤ
在线客服
SonarQube是基于浏览器的BS架构的代码质量管理平台,通过对源码的分析,依赖规则分析得到不同级别的代码问题。
主要是基于官方文档的Quick Start部分,这个部分使用内嵌数据库,届时会有一个提示,大意是用于演示功能且不支持升级。如果要搭建Product,则需要依赖外部数据库。
缺陷分类:
Bug
Code Smell
Vulnerabilities
缺陷级别:
Blocker
Critical
Major
Minor
Info
1.环境要求:
1.1. 操作系统
- Windows
- Linux(本文使用CentOS 6.4 64bit,ip:192.168.1.154)
- MacOS
1.2. SonarQube6.2
- sonarqube-6.2.zip
- sonar-scanner-2.8.zip
- sonar-scanning-examples-master.zip
1.3. java
Oracle JRE8+/OpenJDK 8+(本文使用Oracle JDK8 bit)
1.4. 数据库(在quick start部分可以不安装)
- 2012 (MSSQL Server 11.0)/ 2014 (MSSQL Server 12.0)
- MySQL5.6/5.7
- Oracle11G/12C (需要自备数据库驱动包,放在 /sonarqube/extensions/jdbc-driver/oracle 下)
- PostgreSQL8.x/9.x
1.5. 浏览器
- IE11
- Firefox
- Chrome
- Safari
2.迅速安装(Get Started in Two Minutes)
将sonarqube-6.2.zip和sonar-scanner-2.8.zip解压到/usr/local/sonar下。cd /usr/local/sonar/sonarqube-6.2/bin/linux-x86-64
执行 ./sonar.sh console &
看到SonarQube is up 则说明启动成功。
另外,还有标准安装(product instance),需要配合数据库一起使用。
3.访问
在浏览器中输入 http://192.168.1.154:9000 即可访问,默认的用户名/密码:admin/admin
4.解析项目
4.1. 使用sonar scanner
解压sonar-scanner-2.8.zip,将bin目录加入环境变量。
修改$SONAR_SCANNER_HOME/conf/ sonar-scanner.properties,将sonar.host.url修改为sonar的ip。
在需要解析的项目下执行
sonar-scanner.bat #windows
sonar-scanner #linux
直接执行上面的命令会报错:You must define the following mandatory properties for 'Unknow': sonar.projectKey, sonar.sources
1 2 3 4 5 6 | # 需要指定projectKey 和 sources sonar-scanner -Dsonar.projectKey=testForSonar -Dsonar.sources=/home/sonar/testFor/Sonar/src #或者新建配置文件 sonar-project.properties sonar.projectKey=testForSonar sonar.sources=/home/sonar/testFor/Sonar/src |
4.2. 使用maven3.x
客户端安装MAVEN(即存放有代码的机器,使用sonar-scanning-examples-master/ sonarqube-scanner-maven这个样例或自己真实的maven项目)
修改$MAVEN_HOME/conf/settings.xml,添加以下内容,注意修改sonar.host.url的ip
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <settings> <pluginGroups> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> </pluginGroups> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- Optional URL to server. Default value is http://localhost:9000 --> <sonar.host.url> </sonar.host.url> <sonar.scm.disabled>true</sonar.scm.disabled> </properties> </profile> </profiles> </settings> |
在maven项目根目录中或IDE中执行
1 | mvn clean verify sonar:sonar #看到BUILD SUCCESS则代表成功,第一次执行会下载相关依赖 |
在浏览器中,点击projects的All标签,即可看到。
4.3. 使用ant1.7.1+
下载ant sonar task
https://sonarsource.bintray.com/Distribution/sonarqube-ant-task/sonarqube-ant-task-2.4.jar,放入$ANT_HOME/lib下。
编辑项目中的sonar-scanning-examples-mastersonarqube-scanner-antbuild.xml文件,修改sonar.host.url为sonar的ip。
在当前项目路径或IDE中执行
1 | ant sonar |
看到BUILD SUCCESSFUL 则代表成功。
在浏览器中,点击projects的All标签,即可看到。
4.4. 其他
另外支持Gradle和Jenkins,可以加入CI。
5.5. 报错
Error when executing blame for file
svn:E170001:Authentication required for svn://ip:port
修改上文中提到的$MAVEN_HOME/conf/settings.xml
<sonar.scm.disabled>true</sonar.scm.disabled> --如果此處不設置,會通過svn訪問,這時候無權限。
安装product instance可能遇到的问题:
启动以后使用浏览器访问,提示:sonarqube is under maintenance
按照网上提供的方法,需要访问 192.168.1.154:9000/setup ,按照提示更新数据库。乌鸦并没有解决问题。
因为乌鸦安装product instance时,安装5.6.6TLS和6.2时出现了上述问题,只好改装最新的6.3.1,成功安装。