如何使用nmap进行端口扫描Sonar Runner进行代码扫描

SonarQube代码质量管理平台安装与使用_Linux教程_Linux公社-Linux系统门户网站
你好,游客
SonarQube代码质量管理平台安装与使用
来源:Linux社区&
作者:hunterno4
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量
通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测
sonarQube能带来什么?
Developers' Seven Deadly Sins1.糟糕的复杂度分布文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们,且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试
2.重复显然程序中包含大量复制粘贴的代码是质量低下的
sonar可以展示源码中重复严重的地方
3.缺乏单元测试
& sonar可以很方便地统计并展示单元测试覆盖率
4.没有代码标准& sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写5.没有足够的或者过多的注释& 没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降& 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷6.潜在的bug
& sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug
7.糟糕的设计(原文Spaghetti Design,意大利面式设计)& 通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系& 可以检测自定义的架构规则& 通过sonar可以管理第三方的jar包& 可以利用LCOM4检测单个任务规则的应用情况& 检测耦合
关于Spaghetti Design:
通过sonar可以有效检测以上在程序开发过程中的七大问题
SonarQube安装
预置条件1.已安装JAVA环境2.已安装有MySQL数据库
软件下载地址:下载SonarQube与SonarQube Runner中文补丁包下载:
1.数据库配置进入数据库命令#mysql -u root -p
mysql& CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ mysql& CREATE USER 'sonar' IDENTIFIED BY 'sonar';mysql& GRANT ALL ON sonar.* TO
IDENTIFIED BY 'sonar';mysql& GRANT ALL ON sonar.* TO
IDENTIFIED BY 'sonar';mysql& FLUSH PRIVILEGES;
2.安装sonar与sonar-runner将下载的sonar-3.7.zip包解压至Linux某路径如/usr/local将下载的sonar-runner-dist-2.3.zip包解压某路径/usr/local添加SONAR_HOME、SONAR_RUNNER_HOME环境变量,并将SONAR_RUNNER_HOME加入PATH
修改sonar配置文件编辑&install_directory&/conf/sonar.properties文件,配置数据库设置,默认已经提供了各类数据库的支持这里使用mysql,因此取消mysql模块的注释#vi sonar.properties
sonar.jdbc.username:& & & & & & & & & & & sonarsonar.jdbc.password:& & & & & & & & & & & sonarsonar.jdbc.url:& & & & & & & & & & & & & & jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
# Optional propertiessonar.jdbc.driverClassName:& & & & & & & & com.mysql.jdbc.Driver
修改sonar-runner的配置文件切换至sonar-runner的安装目录下,修改sonar-runner.properties根据实际使用数据库情况取消相应注释
#Configure here general information about the environment, such as SonarQube DB details for example#No information about specific project should appear here#----- Default SonarQube serversonar.host.url=http://localhost:9000#----- PostgreSQL#sonar.jdbc.url=jdbc:postgresql://localhost/sonar#----- MySQLsonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8#----- #sonar.jdbc.url=jdbc:oracle:thin:@localhost/XE#----- Microsoft SQLServer#sonar.jdbc.url=jdbc:jtds:sqlserver://localhost/SelectMethod=Cursor#----- Global database settingssonar.jdbc.username=sonarsonar.jdbc.password=sonar#----- Default source code encodingsonar.sourceEncoding=UTF-8#----- Security (when 'sonar.forceAuthentication' is set to 'true')sonar.login=adminsonar.password=admin
3.添加数据库驱动除了Oracle数据库外,其它数据库驱动都默认已经提供了,且这些已添加的驱动是sonar唯一支持的,因此不需要修改如果是Oracle数据库,需要复制JDBC驱动至&install_directory&/extensions/jdbc-driver/oracle目录
4.启动服务目录切换至sonar的&install_directory&/bin/linux-x86-64/目录,启动服务#./sonar.sh start& 启动服务#./sonar.sh stop& & 停止服务#./sonar.sh restart 重启服务
至此,sonar就安装好了访问http:\\localhost:9000即可
5.sonar中文补丁包安装中文包安装安装中文补丁包可以通过访问http:\\localhost:9000,打开sonar后,进入更新中心安装或者下载中文补丁包后,放到SONARQUBE_HOME/extensions/plugins目录,然后重启SonarQube服务
sonar作为Linux服务并开机自启动新建文件/etc/init.d/sonar,输入如下内容:
#!/bin/sh## rc file for SonarQube## chkconfig: 345 96 10# description: SonarQube system (www.sonarsource.org)#### BEGIN INIT INFO# Provides: sonar# Required-Start: $network# Required-Stop: $network# Default-Start: 3 4 5# Default-Stop: 0 1 2 6# Short-Description: SonarQube system (www.sonarsource.org)# Description: SonarQube system (www.sonarsource.org)### END INIT INFO&/usr/bin/sonar $*
&SonarQube开机自启动(, 32位):
sudo ln -s $SONAR_HOME/bin/linux-x86-32/sonar.sh /usr/bin/sonarsudo chmod 755 /etc/init.d/sonarsudo update-rc.d sonar defaults
SonarQube开机自启动(, , 64位):
sudo ln -s $SONAR_HOME/bin/linux-x86-64/sonar.sh /usr/bin/sonarsudo chmod 755 /etc/init.d/sonarsudo chkconfig --add sonar
使用SonarQube Runner分析源码
预置条件已安装SonarQube Runner且环境变量已配置,即sonar-runner命令可在任意目录下执行
1.在项目源码的根目录下创建sonar-project.properties配置文件以项目为例:
sonar.projectKey=android-sonarqube-runnersonar.projectName=Simple Android project analyzed with the SonarQube Runnersonar.projectVersion=1.0sonar.sources=srcsonar.binaries=bin/classessonar.language=javasonar.sourceEncoding=UTF-8sonar.profile=Android Lint
注:要使用Android Lint规则分析需要先访问http:\\localhost:9000更新中心添加Android Lint插件,使其可以分析Android Lint规则
2.执行分析切换到项目源码根目录,执行命令# sonar-runner分析成功后访问http:\\localhost:9000即可查看分析结果
不同参数的意思:不同项目的源码分析示例下载:
最后,当然了,得与IDE相关联,才能更方便地实时查看
以Eclipse为例,请见:
sonarQube官网地址:sonarQube官方文档地址:sonarQube示例地址:
另两篇相关的文章:
配置Sonar、Jenkins进行持续审查
sonarQube代码质量管理工具环境筹建笔记
Sonar 的详细介绍:Sonar 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (02月18日)
& (08/03/:57)
& (05月17日)
& (10/05/:56)
& (08/03/:25)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款安装sonar:
下载地址:https://www.sonarqube.org/downloads/
wget /Distribution/sonarqube/sonarqube-5.6.zip
unzip sonarqube-5.6.zip
mv sonarqube-5.6 /usr/local/
ln -s /usr/local/sonarqube-5.6/ /usr/local/sonarqube
准备数据库:
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar@pw';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar@pw';
FLUSH PRIVILEGES;
启动sonar,如果报错可以看看web.log等日志
/usr/local/sonarqube/bin/linux-x86-64/sonar.sh start
安装sonar插件-中文包
藏的还是比较深的,费劲才找到.参考这里找到的
安装时候报错,反复点了好几次才成功.不知道是我加了访问google的hosts还是反复点几次才奏效的.
SonarQube的安装、配置与使用
win下的,可以参考下.
安装sonarscanner,实现手动扫描,web出结果
含有runner各版本安装
先把sonar-runner安装好: sonar-scanner-2.5.zip
vim /etc/profile
export PATH=$PATH:/usr/local/sonar-scanner/bin
配置runner程序 conf/sonar-scanner.properties 让去连数据库
runner(scanner) db sonar-web 三者具体关系图如下
这里还有scanner2.8版本的安装
sonar-scanner2.8http://newthink./3334安装包下载太慢遂放弃.
安装后sonar-scanner使用方法:
下载官方的示例代码
下载/SonarSource/sonar-scanning-examples
解压到/usr/local/src/
cd /usr/local/src/sonar-scanning-examples-master/sonarqube-scanner
/usr/local/src/sonar-scanning-examples-master/sonarqube-scanner
/usr/local/sonar-scanner/bin/sonar-runner #到项目下执行runner程序.
注:现在的例子貌似边了,要在上面那个目录执行,不能进入各语言模块执行了
目录结构如下
[root@node1 sonar-scanning-examples-master]# tree sonarqube-scanner
sonarqube-scanner
├── copybooks
│&&├── Attr.cpy
│&&├── Custmas.cpy
│&&├── Errparm.cpy
│&&└── MNTSET2.CPY
├── coverage-report
│&&└── coverage-cobertua-flex.xml
├── sonar-project.properties
└── src
├── abap
│&&├── ZBCMKZ17.abap
│&&└── ZZBGS106.abap
├── cobol
│&&└── Custmnt2.cbl
├── css
│&&├── sample.css
│&&└── sonar.css
├── directory
如果一个项目要被sonar扫描评测,以上四个黄色部门都必须有.
sonar-project.properties 用来配置项目名称语言类型等.最终会显示在sonar-web上,其他三个目录可以为空.但是不能没有.
执行结果如下图
阅读(...) 评论()君,已阅读到文档的结尾了呢~~
sonar-runner方式使用说明
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
sonar-runner方式使用说明
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 代码扫描 的文章

 

随机推荐