SonarQube+Jenkins

这个文,只是简单的介绍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

SonarQube+Jenkins_第1张图片

创建项目 头像左上角+号

SonarQube+Jenkins_第2张图片

项目名称根据情况填写,要注意的是他会生成一个token,这个要记录下,因为后面这个就看不到了,可以一个项目一个token,也可以多个项目一个token

例如 我有又创建了一个项目 叫 seller 到创建一个令牌的环节,我选择 [ 选择现有token ] 

SonarQube+Jenkins_第3张图片

选择语言后他会展示出命令,直接执行就可以,不过需要下载客户端

SonarQube+Jenkins_第4张图片

他给的这个命令 执行完毕之后,会在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

这个是检测的结果:

SonarQube+Jenkins_第5张图片

Jenkins

安装SonarQube的插件  SonarQube Scanner for Jenkins

在jenkins上配置SonarQube服务端

Dashboard --> Manage Jenkins --> Config System --> SonarQube servers

SonarQube+Jenkins_第6张图片

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

SonarQube+Jenkins_第7张图片

name  名字

SONAR_RUNNER_HOME  填写路径  /home/sonarq/sonar-scanner-2.8

构建项目的时候在build之前添加上检测的命令[我只填写了这部分,剩下的可以不填写]

这个模块在 build 中  Add build step 添加

SonarQube+Jenkins_第8张图片


进行构建--构建成功后会显示:

SonarQube+Jenkins_第9张图片

完 最后还是要说 这个内容并没有什么用,只是单纯的记录一次被pass的小想法 

最后的最后 如果觉得本文对你有所启发或者有所帮助,不要吝啬你手中的一件三联,每一个鼓励对我很重要

    preview

如果觉得我的文对你有帮助的话 可以关注下我的公众号 一般写文第一时间发布到公众号中

公众号名称 咕咕崽

二维码: 

你可能感兴趣的:(linux,运维,jenkins)