内网SonarQube代码扫描工具安装(全)
1、Centos7安装jdk11
下载完成后拷贝到内网centos7上安装
[code]rpm -ivh jdk-11.0.7_linux-x64_bin.rpm
2、下载SonarQube 8.3.1
下载地址:https://www.sonarqube.org/downloads/
下载完成后拷贝到内网centos7上进行解压
[code][root@localhost local]# unzip sonarqube-8.3.1.34397.zip
3、Centos7内网安装Postgre数据库(用于存放sonar扫描结果)
准备一台能上网的Centos7虚拟机(其他能上网的也可以)
(1)安装存储库设置软件源,用于下载pg12包至本地(postgre官网有介绍)
[code]yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
(2)创建一个文件夹用来存放下载后的rpm包
root用户登录后,进入想要存放rpm包的目录,执行以下命令创建pg12_rpms文件夹:
[code][root@localhost ~]# mkdir pg12_rpms
(3)下载rpm包,存放在pg12_rpms文件夹中
[code]yum install --downloadonly --downloaddir=./pg12_rpms postgresql12-server
下载完成的rpm包如下图:
把下载完成的rpm包,放到内网Centos7服务器上
(4)在内网服务器上安装下载好的rpm包,注意一定要按以下顺序安装
[code]rpm -ivh postgresql12-libs-12.3-5PGDG.rhel7.x86_64.rpm rpm -ivh postgresql12-12.3-5PGDG.rhel7.x86_64.rpm rpm -ivh postgresql12-server-12.3-5PGDG.rhel7.x86_64.rpm
(5)初始化数据库
[code][root@localhost pg12_rpms]# /usr/pgsql-12/bin/postgresql-12-setup initdb Initializing database ... OK
(6)设置pg12开机启动/启动
[code]systemctl enable postgresql-12 systemctl start postgresql-12
(7)修改postgres密码(root用户下)
[code][root@localhost ~]# su - postgres 上一次登录:一 6月 29 08:35:12 CST 2020pts/0 上 -bash-4.2$ psql psql (12.3) 输入 "help" 来获取帮助信息. postgres=# alter user postgres with password 'root'; ALTER ROLE postgres=# \q -bash-4.2$ exit 登出 [root@localhost ~]#
(8)开启远程访问(root用户下)
1、防火墙开启5432端口,重载防火墙
[code]firewall-cmd --zone=public --add-port=5432/tcp --permanent firewall-cmd --reload
2、编辑postgresql配置文件“/var/lib/pgsql/12/data/postgresql.conf”,将“#listen_addresses =' localhost' ”改为“listen_addresses = '*' " 允许远程访问数据库 (注意把#取消)
(9)信任远程连接(root用户下)
1、编辑pg_hba配置文件“vi /var/lib/pgsql/12/data/pg_hba.conf”
2、修改“host all all 127.0.0.1/32 ident” 为 “host all all 127.0.0.1/32 md5”(如果不改,sonar.properties配置文件中数据库连接方式不能为localhost)
3、在文件末尾添加“host all all 0.0.0.0/0 md5”,如果你只信任某个IP可以这样写“host all all 192.58.65.8/32 md5”
(10)重启数据库
[code]systemctl restart postgresql-12
这时可以用工具远程连接访问数据库了(Navicat 、pgAdmin 4 等)
(11)在Postgre数据库中创建sonarqube所需的库、用户名、密码(root用户下)
[code]su - postgres #切换用户 psql #进入命令行模式 create database sonar; #创建sonar库 create user sonar; #创建sonar用户 alter user sonar with password 'sonar'; #设置sonar用户密码 alter role sonar createdb; #给sonar用户授权 alter role sonar superuser; #给sonar用户授权 alter role sonar createrole; #给sonar用户授权 alter database sonar owner to sonar; #更改sonar库拥有者为sonar用户
注意:如果使用pgAdmin等工具连接Postgre数据库的话,可以可视化创建库、用户、并授权,无需执行以上命令
4、Centos7创建新用户
由于SonarQube无法用root用户启动,所以要新建用户来启动
官网描述:
创建用户设置密码
[code][root@localhost ~]# useradd sonar [root@localhost ~]# passwd sonar
5、修改系统配置
Linux 环境要求:
vm.max_map_count 大于等于 262144
fs.file-max 大于等于 65536
你可以通过以下命令查看这些值:
[code]sysctl vm.max_map_count sysctl fs.file-max ulimit -n
root用户运行以下命令为当前会话设置值(注意:这种方式不能永久设置值)
[code]sysctl -w vm.max_map_count=262144 #sysctl -w fs.file-max - centos中通过查看参数值已经大于65536 所以不用设置 ulimit -n 378942
永久设置值(可选):
1、在/etc/sysctl.conf文件末尾增加vm.max_map_count=262144
[code]vi /etc/sysctl.conf vm.max_map_count=262144 # 增加这条记录
2、在/etc/profile文件末尾增加ulimit -n 378942
[code]vi /etc/profile ulimit -n 378942 #增加这条记录 source /etc/profile #使记录生效
6、sonarqube配置/启动
1、sonarqube目录授权给sonar用户,因为后面要用sonar用户启动
[code]chown -R sonar:sonar /usr/local/sonarqube-8.3.1.34397/
2、配置连接数据库,编辑sonar.properties,放开注释修改用户、密码、数据库连接串
[code]vi /usr/local/sonarqube-8.3.1.34397/conf/sonar.properties sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:postgresql://localhost/sonar
如图:
4、防火墙开启9000端口,用于访问SonarQube
[code]firewall-cmd --zone=public --add-port=9000/tcp --permanent firewall-cmd --reload
5、启动sonarqube(启动过程大概5-6秒要等待一会才能打开网址)
[code]su - sonar #切换sonar用户 [sonar@localhost ~]$ cd /usr/local/sonarqube-8.3.1.34397/bin/linux-x86-64 [sonar@localhost linux-x86-64]$ ./sonar.sh start Starting SonarQube... Started SonarQube. [sonar@localhost linux-x86-64]$
启动后打开:http://192.168.129.160:9000/ 192.168.129.160为你的服务器IP,默认用户名密码为admin/admin
7、sonarqube汉化
汉化包地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases
下载sonar-l10n-zh-plugin-8.3.jar (注意:下载对应的版本)
把下载好的sonar-l10n-zh-plugin-8.3.jar 放到内网Centos中对应的目录/usr/local/sonarqube-8.3.1.34397/extensions/plugins
执行命令重启
[code][sonar@localhost linux-x86-64]$ ./sonar.sh restart Gracefully stopping SonarQube... Stopped SonarQube. Starting SonarQube... Started SonarQube. [sonar@localhost linux-x86-64]$
重启完成后发现界面已经被汉化
(也可以通过在线安装插件的方式进行安装,我们这里讲的是内网离线安装,就不多说了)
8、安装SonarScanner
SonarQube安装好后是没法扫描项目的,所以还需安装SonarScanner
下载地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
把下载好的sonar-scanner-cli-4.3.0.2102-linux.zip放到/usr/local目录
[code][root@localhost ~]# cd /usr/local #进入目录 [root@localhost local]# unzip sonar-scanner-cli-4.3.0.2102-linux.zip #解压 [root@localhost local]# cd sonar-scanner-4.3.0.2102-linux #进入目录 [root@localhost sonar-scanner-4.3.0.2102-linux]# vi /conf/sonar-scanner.properties #修改配置
放开sonar.host.url、sonar.sourceEncoding注释(如果SonarScanner与SonarQube部署不在同一台服务器,那么需要修改sonar.host.url)
创建软连接,将SonarScanner改为全局可使用
[code]ln -s /usr/local/sonar-scanner-4.3.0.2102-linux/bin/sonar-scanner /usr/bin/sonar-scanner
9、测试使用
拖动一个java项目ScanningTool放到/usr/local,进入目录
[code][root@localhost conf]# cd /usr/local/ScanningTool
在项目根目录下创建sonar-scanner配置文件sonar-project.properties
[code][root@localhost ScanningTool]# vim sonar-project.properties sonar.projectKey=test-project #指定唯一实例key sonar.projectName=test-project #在web界面显示的项目名称 sonar.projectVersion=1.0 #版本 sonar.sources=src #扫描资源 sonar.java.binaries=target #指定编译的.class sonar.sourceEncoding=UTF-8 #源代码的编码
项目结构图
执行扫描分析
[code][root@localhost ScanningTool]# sonar-scanner
等待程序执行完毕后打开SonarQube可查看扫描信息
到此整个内网部署已完成
- Linux下sonarqube安装使用方法(代码check工具)
- Linux下sonarqube安装使用方法(代码check工具)
- Linux下sonarqube安装使用方法(代码check工具)
- SonarQube 代码测试工具安装
- Linux下sonarqube安装使用方法(代码check工具)
- Linux下sonarqube安装使用方法(代码check工具)
- ubuntu下安装sonarqube(团队代码评审工具)
- Linux下sonarqube安装使用方法(代码check工具)
- CI系列之三:代码审查工具SonarQube安装及配置
- 2017.4.18 静态代码分析工具sonarqube+sonar-runner的安装配置及使用
- 2017.4.18 静态代码分析工具sonarqube+sonar-runner的安装配置及使用
- SonarQube安装、配置、扫描代码
- linux学习:持续集成篇--sonarqube代码质量管理平台的介绍与安装-04
- SonarQube代码质量扫描持续集成
- Linux下SonarQube代码质量平台的安装和使用方法
- Java代码质量监控工具Sonar安装
- Android 代码检查工具SonarQube
- 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube6.4
- Android 代码检查工具SonarQube
- SonarQube代码质量管理平台安装与使用