Sonar 介绍
Sonar 是一个用于代码质量管理的开放平台。通过插件机制, Sonar 可以集成不同的测试工
具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同, Sonar
并不是简单地把不同的代码检查工具结果(例如 FindBugs, PMD 等)直接显示在 Web 页面上,而
是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方
便地对不同规模和种类的工程进行代码质量管理。
在对其他工具的支持方面, Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ
IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方
便地在持续集成中使用 Sonar。
此外, Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化
也有良好的支持。Sonar 的相关下载和文档可以在下面的链接中找到: http://www.sonarqube.org/downloads/。
需要注意最新版的 Sonar 需要至少 JDK 1.8 及以上版本。
上篇文章我们已经可以成功的使用 git 进行拉去, Sonar 的功能就是来检查代码是否有 BUG。除了
检查代码是否有 bug 还有其他的功能,比如说:你的代码注释率是多少,代码有一些建议,编写语
法的建议。所以我们叫质量管理
Sonar 还可以给代码打分,并且引用了技术宅的功能(告诉你有很多地方没改)
Sonar 部署#软件包下载: https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.6.zip
准备 Sonar 数据库
如果没有数据库请执行 yum install -y mariadb mariadb-server登录数据库并操作
110 mysqladmin -u root password 123 设置MySQL数据库密码
可以看到这里有问题。解决:
111 grep password /var/log/mysqld.log
红框中的就是密码
112 mysql -u root -p’yq%9XsyE:r&g’ 登陆数据库
alter user ‘root’@’localhost’ identified by ‘123.com’
alter user ‘root’@’localhost’ identified by ‘Xgp@123.com’;
配置 Java 访问数据库驱动(可选)
默认情况 Sonar 有自带的嵌入的数据库,那么你如果使用类是 Oracle 数据库,必须手动复制驱动类到${SONAR_HOME}/extensions/jdbc-driver/oracle/目录下,其它支持的数据库默认提供了驱动。其它数据库的配置可以参考官方文档:
http://docs.sonarqube.org/display/HOME/SonarQube+Platform
启动 Sonar并查看端口
你可以在 Sonar 的配置文件来配置 Sonar Web 监听的 IP 地址和端口,默认是 9000 端口。
118 sonar.sh start 启动sonar
119 netstat -anpt | grep 9000 查看端口
120 tailf /usr/local/sonarqube/logs/sonar.log 查看sonar日志
#端口是 9000 哦!
Web 登陆: IP:9000
提示:
sonar 跟 jenkins 类似,也是以插件为主
sonar 安装插件有 2 种方式:第一种将插件下载完存放在 sonar 的插件目录,第二种使用 web 界面来使用安装存放插件路径[/usr/local/sonarqube/extensions/plugins/]
安装中文插件
登陆:用户名: admin 密码: admin
sonar安装‘中文’和php插件生效后如下图:
我们要将扫描器和 sonar 关联起来我们现在需要找一个代码进行分析。sonar 插件提供了一个代码的库
github:https://github.com/SonarSource/sonar-examples
我们下载软件包: https://github.com/SonarSource/sonar-examples/archive/master.zip
解压
150 unzip testalyzer-master.zip 解压测试文件
151 cd /usr/src/sonar/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests 进入测试文件
163 sonar-scanner 测试代码文件
提示: 我们什么都不指定就会在当面目录下扫描 sonar-project.properties 文件,根据配置文件进行扫描工作。扫描之后我们在 web 界面上就可以看到代码的扫描结果这里的名字,版本 都是在 sonar-project.properties 文件中定义的
质量阈帮我们设定好一个阈值,超过相应的阈值就算有 bug
测试第二个文件
cd /usr/src/sonar/testalyzer-master/projects/languages/javascript/javascript-sonar-runner
sonar-scanner 测试
为了让 jen开发云主机域名kins 可以在构建项目的时候执行 sonar,所以我们需要在 jenkins 上安装插件现在就可以进行配置,让 jenkins 和 sonar 结合在一起。这样我们构建项目的时候就会进行代码检测
http://192.168.1.40:8081/ jdk安装插件SonarQube Scanner. Gerrit Tr igge 需要一个一个来
安装完毕之后:现在就可以进行配置,让 jenkins 和 sonar 结合在一起。这样我们构建项目的时候就会进行代码检测
系统管理—系统设置—- add sonarqube server—name随意写 url sonarqube的路径http://192.168.1.40: 9000
点击保存系统管理—全局工具配置—新增SonarQube Scanner— 取消勾选自动安装—-name随意写— SONAR_RUNNER_HOME /usr/local/sonar- scanner
配置
配置上次课的web- demo项目—-构建— Execute SonarQube Scanner —-Analysis properties 内容在cat /usr/src/sonar/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests/sonar-project.properties(每个人安装目录不一样)
编辑我们的项目,选择最下放。找到构建
cat /usr/src/sonar/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests/sonar-project.properties
填写完毕后,我们点击保存 浏览器JDK查看点击 Console Output 可以查看构建输出的内容
#提示:只要没有 error 就可以
Gielab查看并修改名字
再次修改一下并把密钥修改一下
在sonar上查看添加了一个xgpa登陆QQ邮箱获取授权码
1、需要开启 POPE3/SMTP 服务
2、在 jenkins 上配置的密码我们需要点击生成授权码进行使用
回到jdk
系统管理—系统设置—Jenkins Location—- 系统管理员邮件地址
—–邮件通知—SMTP服务器smtp . qq. com
—用户默认邮件后缀@qq. com
—勾选使用smtp认证
用户名密码 (生成的授权码)
—勾选使用ssl
— smtp端口 465
—勾选通过发送测试邮件测试配置
配置web- demo项目—构建后操作- –添加E -mail Notification—Recipient收件 人地址
—- Editable Email Notification—Project From填写项目名称—-Project Recipient Lis t收件人邮箱地址-
Triggers—add Triggers—-always– Send To只保留Recipient List
测试:关闭git(失败邮件)
gitlab-ctl stop
测试:成功邮件
启动gitlab-ctl start
就国内云主机来说我们暂且可以依据市场占有率分为3个类:“大型云服务商、中型云服务商、小型云服务商”,下面我就挑出几家比较有代表性的国内云服务器提供商做个说明。阿里云阿里云(原万网)目前市场占有率为72%,超过国内云服务商第2-第5总合,安全稳定高速是阿里云的主…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。