ubuntu+jenkins+sonarqube实现代码质量检测

一、ubuntu中安装jdk

下载并安装jdk
详细过程可参考:https://blog.csdn.net/qq_36957885/article/details/90692265

二、ubuntu中安装mysql(最好使用老版本5.7) 

https://dev.mysql.com/downloads/mysql/5.7.html

详细过程可参考:

1.先查看是否已经有装过mysql并卸载删除

dpkg --list|grep mysql # 查看mysql的依赖项
# 然后依次卸载所列出的项目
sudo apt-get remove mysql-common
sudo apt-get remove mysql-xxx//依次卸载
# 随后执行,清除残留数据
dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P
# 随后执行查看依赖项,这是发现已经全部删除了
dpkg --list|grep mysql

2.进行安装

(1)下载下来后拷到服务器,并解压(tar -zvf ****)

(2)安装mysql5.7需要两个包

apt-get install libaio1
apt-get install libmecab5

MySQL需要使用的包:(***代表版本号)

mysql-common_***
mysql-community-client_***
mysql-client_***
mysql-community-server_***

其中MySQL5.7.29 需要以下包:

  • mysql-common_5.7.29-1ubuntu18.04_amd64.deb
  • mysql-community-client_5.7.29-1ubuntu18.04_amd64.deb
  • mysql-client_5.7.29-1ubuntu18.04_amd64.deb
  • mysql-community-server_5.7.29-1ubuntu18.04_amd64.deb

(3)开始操作(安装顺序不可更改)

sudo dpkg -i mysql-common_5.7.31-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-client_5.7.29-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-client_5.7.29-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-server_5.7.29-1ubuntu18.04_amd64.deb

(4)设置好密码

(5)配置ssh远程访问

vi /etc/mysql/mysql.conf.d/mysqld.cnf

# 加入这个配置是因为在sonarqube分析写入数据库得时候因为数据量太大,默认的大小满足不了,导致报错,所以需要配置这个参数
max_allowed_packet = 120M
# 注销
#bind-address   = 0.0.0.0

修改用户账号密码和访问权限

[root@virde ~]# mysql -u root -p
 
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'MyNewPass4!';
Query OK, 0 rows affected (0.08 sec)

mysql> use mysql;
mysql> update user set host="%" where user='root';
# 执行该条命令会提示不能以GRANT用户去创建,你重新再接着执行便可
mysql> GRANT ALL ON *.* TO 'root'@'%';
mysql> flush privileges;
# 然后重启mysql服务
[root@virde ~]# service mysql restart

安装成功之后创建一个数据库“sonar"

[root@virde ~]# mysql -u root -p
 
mysql> create database sonar

三、下载并安装sonarQube 


注:建议运行内存在2G或2G已上, 下载(7.3这个版本)低于这个版本也行,因为新版本已经不支持mysql数据库了,得用oracle。
1.下载sonarQube 地址:https://www.sonarqube.org/downloads/

2.解压并安装
①使用如下命令解压"sonarqube-7.3.zip"

# 没有unzip先进行安装
sudo apt-get install unzip
# 再解压
sudo unzip sonarqube-7.3.zip

②修改配置文件
找到"sonarqube-7.3/conf/sonar.properties"
sonar.properties文件修改内容如下:(配置内容根据自己情况修改)

sonar.jdbc.username=root # 数据库用户名
sonar.jdbc.password=root # 数据库用户密码
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.driverClassName:com.mysql.jdbc.Driver

sonar.web.host=0.0.0.0
sonar.web.context=/  (访问根路径)
sonar.web.port=9000    (访问端口)

 

③启动

注意:启动sonarqube时不能使用root用户。(不要问我为什么,它就这个样子...)
进入"bin"目录查看文件:

我们可以看到不同操作系统不同位数的文件,找到自己系统对应的即可。

使用如下命令启动:

./sonar.sh start

我这里已经启动过了就用restart, 有start、restart、stop等命令

ubuntu+jenkins+sonarqube实现代码质量检测_第1张图片

如上所示则启动成功。

④访问

http://ip:9000/sonar
注:访问地址有没有sonar或是不是别的根据自己配置决定。
点击右上角"Log in"进行登录,默认账号和密码:
账号:admin
密码:admin

ubuntu+jenkins+sonarqube实现代码质量检测_第2张图片

⑤问题处理
若启动过程失败,可以进入"sonarqube-7.3/logs"文件夹查询log文件来定位启动失败的原因。

如果启动失败,进入log文件夹,进行日志查看,先从sonar.log->es.log->web.log依此调查并解决问题。

四、汉化


sonarQube安装完成之后,默认是英文版的,我们可以进行汉化,方便操作。
首先需要登录,之后按照下图操作:

ubuntu+jenkins+sonarqube实现代码质量检测_第3张图片

ubuntu+jenkins+sonarqube实现代码质量检测_第4张图片

五、登录进去进入项目

1.创建项目->windows->下载解压->配置环境变量->项目根路径执行命令

六、注意事项

1.ubuntu切换用户后PATH没有jdk信息

ubuntu+jenkins+sonarqube实现代码质量检测_第5张图片

老是需要source /etc/prefile,所以直接在./sonarqube/bin/linux..../sonar.sh 中加入环境变量

# 前提是/etc/profile,已经配置JAVAHOME
export PATH=$JAVA_HOME/bin:$PATH

2.Packet for query is too large (12164278 > 4194304). You can change this value

详见二.(5)

七、配置C++

https://www.cnblogs.com/whylaughing/p/13217753.html

八、整合jenkins

1.安装SonarQube Scanner插件 地址:https://plugins.jenkins.io/sonar

ubuntu+jenkins+sonarqube实现代码质量检测_第6张图片

ubuntu+jenkins+sonarqube实现代码质量检测_第7张图片

 

ubuntu+jenkins+sonarqube实现代码质量检测_第8张图片

2.重启jenkins

3.配置SonarQube

首先,在SonarQube中生成一个Token(PS:用token代替输入用户名和密码)然后,在Jenkins中配置连接sonarqube服务器的地址,这里用到的token就是刚才在sonarqube中创建的那个token。

ubuntu+jenkins+sonarqube实现代码质量检测_第9张图片

ubuntu+jenkins+sonarqube实现代码质量检测_第10张图片

ubuntu+jenkins+sonarqube实现代码质量检测_第11张图片

最后,配置全局工具配置

ubuntu+jenkins+sonarqube实现代码质量检测_第12张图片

3.  创建任务

ubuntu+jenkins+sonarqube实现代码质量检测_第13张图片

ubuntu+jenkins+sonarqube实现代码质量检测_第14张图片

ubuntu+jenkins+sonarqube实现代码质量检测_第15张图片

最重要的是,配置SonarQube analysis properties

可以将其单独写到一个配置文件(sonar-project.properties)里面,也可以像这样每次都写一遍

sonar.projectKey=ks-cms-unicorn
sonar.projectName=ks-cms-unicorn
sonar.projectVersion=1.0

sonar.language=java
sonar.sourceEncoding=UTF-8

sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE

其中,sonar.java.binaries属性至关重要,笔者也是试了好多次

相关文档在这里:

https://github.com/SonarSource/sonar-scanning-examples/blob/master/sonarqube-scanner/sonar-project.propertieshttps://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode

3.  参考及文档

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins

 

 

你可能感兴趣的:(ubuntu)