🔮
这个文,只是简单的介绍SonarQube的安装,使用以及搭配jenkins,被pass了,因为他只能起到规范代码的作用,而真正实现自动化测试 ,还需要借助人工,或者是编写自动化的代码,不过,多了解一点也不是坏处。
安装SonarQube...
前景提要: 需要先安装JDK1.8 (支持openjdk),Mysql 5.6以上-8.0以下版本,我使用的是Mysql5.6,SonarQube 我安装的是7.6版本
解压文件
[^-^] host3 docker# unzip sonarqube-7.6.zip
编辑配置文件
[^-^] host3 sonar# vim conf/sonar.properties
# 修改数据库密码
sonar.jdbc.username=sonar
sonar.jdbc.password=1q@W3e$R
# 修改数据库信息
sonar.jdbc.url=jdbc:mysql://数据库地址:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false&max_allowed_packet=512M
# 注意 默认配置文件没有最后一段 max_allowed_packet=512M 最下面说这个
# 配置主机
sonar.web.host=0.0.0.0
# 配置端口号 注意这两个端口号别配一样了
sonar.search.port=9070 //es端口
sonar.web.port=9080 //web页面访问端口
启动SonarQube
创建一个普通用户,并给文件属主属组权限
[^-^] host3 sonar# useradd sonar
[^-^] host3 src# chown -R sonar.sonar sonar
mysql中创建用户,库并授权
mysql> create user 'sonar'@'localhost' identified by '1q@W3e$R';
Query OK, 0 rows affected (0.00 sec)
mysql> create database sonar character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on sonar.* to 'sonar'@'localhost';
Query OK, 0 rows affected (0.00 sec)
启动SonarQube
注意,启动的时候不能使用root用户,他里面有内置的es,需要切换创建的普通用户进行启动
[^-^] host3 sonar# su sonar
# 启动的时候开启几个日志 方便排错
[^-^] host3 sonar$ ./bin/linux-x86-64/sonar.sh start
Starting SonarQube...
Started SonarQube.
# 查看端口是否启动
[^-^] host3 sonar$ netstat -npl | grep 9080
tcp6 0 ::: 9080 :::* LISTEN 7383/java
[^-^] host3 sonar$ netstat -npl | grep 9070
tcp6 0 0 127.0.0.1:9070 :::* LISTEN 7182/java
现在就可以访问网站了,通过ip:9080 默认账号密码是 admin admin
创建项目 头像左上角+号
项目名称根据情况填写,要注意的是他会生成一个token,这个要记录下,因为后面这个就看不到了,可以一个项目一个token,也可以多个项目一个token
例如 我有又创建了一个项目 叫 seller 到创建一个令牌的环节,我选择 [ 选择现有token ]
选择语言后他会展示出命令,直接执行就可以,不过需要下载客户端
他给的这个命令 执行完毕之后,会在web端显示检测的结果 如果中途报错:
500 api/ce/submit
注意 执行这个命令需要在代码目录里面执行
mysql my.ini中添加:
max_allowed_packet=500M
innodb_log_file_size=256M
vim conf/sonar.properties 添加 👇
mysql部分 在最后添加(上面步骤已经添加) :&max_allowed_packet=512M
客户端安装:
[^-^] host3 sonarq# unzip sonar-scanner-msbuild-2.2.0.24.zip
[^-^] host3 sonar-scanner-2.8# vim conf/sonar-scanner.properties
#修改以下信息
sonar.host.url=http://ip:9080
sonar.login=生成的token
sonar.sourceEncoding=UTF-8
这个是检测的结果:
配合Jenkins
安装SonarQube的插件 SonarQube Scanner for Jenkins
在jenkins上配置SonarQube服务端
Dashboard --> Manage Jenkins --> Config System --> SonarQube servers
Name 填写一个名字
Server URL http://ip:9080 填写服务的链接地址
Server authentication token 需要添加一个凭据, 填写好前两个之后,保存重新打开这个页面点击add添加平凭据
凭据选择:Secret text Secret 填写 sonarqube生成的token 剩下按需填写
在jenkins上配置SonarQube客户端
Dashboard --> Manage Jenkins--> Global Tool Configuration --> SonarQube Scanner
name 名字
SONAR_RUNNER_HOME 填写路径 /home/sonarq/sonar-scanner-2.8
构建项目的时候在build之前添加上检测的命令[我只填写了这部分,剩下的可以不填写]
这个模块在 build 中 Add build step 添加
进行构建--构建成功后会显示:
🎊 完 最后还是要说 这个内容并没有什么用,只是单纯的记录一次被pass的小想法
最后的最后 如果觉得本文对你有所启发或者有所帮助,不要吝啬你手中的一件三联,每一个鼓励对我很重要
如果觉得我的文对你有帮助的话 可以关注下我的公众号 一般写文第一时间发布到公众号中
公众号名称 咕咕崽
二维码: