centos sonar 安装(centos7安装卡在安装源)

CentOS7下SonarQube安装配置

注意:软件运行环境是整个系统公共使用的,建议采用root用户进行操作。

1、下载地址

sonarqube.org/downloads...

2、新建 sonar用户组

因为 SonarQube里使用的 elasticsearch不允许使用 root账号启动,执行命令:新建 sonar用户组:

# groupadd sonar

新建 sonar用户并增加到 sonar用户组:

#useradd-g sonar sonar

3、解压安装

创建 sonar安装目录,解压安装,执行命令:

# mkdir-p/home/sonar

# cp sonarqube-7.6.zip/home/sonar/

# cd/home/sonar/

# unzip sonarqube-7.6.zip

# rm-rf sonarqube-7.6.zip

4、修改配置

修改配置文件,执行命令:

# vi sonarqube-7.6/conf/sonar.properties

修改以下内容:

sonar.jdbc.username=root

sonar.jdbc.password=123456

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=urf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.web.host=0.0.0.0

sonar.web.port=8004

保存退出,如下图所示:

5、目录授权

修改/home/sonar目录及子目录所有权为 sonar用户和用户组所有,执行命令:

# cd/home/

# chown-R sonar:sonar sonar

如下图所示:

6、开启访问端口

(1)查询端口号8004是否开启,执行命令:

# firewall-cmd--query-port=8004/tcp

(2)开启8004端口号,如下图所示:

# firewall-cmd--zone=public--add-port=8004/tcp–permanent

命令含义说明:

--zone#作用域

--add-port=8004/tcp#添加端口,格式为:端口/通讯协议

--permanent#永久生效,没有此参数重启后失效

(3)重启防护墙,使端口配置生效,执行命令:

# firewall-cmd–reload

7、启动sonarqube

(1)启动 sonarqube,切换到 sonar用户,执行命令:

# su sonar#/home/sonar/sonarqube-7.6/bin/linux-x86-64/sonar.sh start

如下图所示:

(2)浏览器中打开: 192.168.91.102:8004

8、设置开机启动

执行命令:

# vi/etc/rc.local

编辑/etc/rc.local文件,加入:

# sonarqube su- sonar-c'/home/sonar/sonarqube-7.6/bin/linux-x86-64/sonar.sh start'

保存退出,如下图所示:

执行授权命令:

# chmod+x/etc/rc.d/rc.local

SonarQute安装与多分支扫描分析插件安装

在本文中,我们将探讨SonarQube的安装过程以及如何为多分支进行扫描分析。SonarQube是一个强大的代码质量管理工具,它提供了静态检查、度量和代码审查等功能,对开源项目维护尤其重要。

首先,访问SonarQube官网获取详细的安装指南。如果你的环境是CentOS 7加上Docker,建议使用PostgreSQL作为数据库,但SonarQube支持多种数据库。创建SonarQube所需的文件夹时,官方推荐使用Docker volume来持久存储数据,但为了简单起见,这里我们没有采用这种方法。

接着,使用Docker拉取镜像,设置启动端口和DB连接,启动SonarQube。初次登录时,请务必更改默认密码。遇到启动问题,可以查看Docker日志排查常见原因。

接下来,我们演示如何使用SonarQube扫描一个SpringBoot项目,例如可以从GitHub下载示例项目。在SonarQube中创建项目,选择Maven本地扫描,生成的token用于触发扫描。

对于多分支扫描,SonarQube社区版原生功能有限,需要安装插件。可以从GitHub获取mc1arke的插件,注意选择与你SonarQube版本相匹配的版本。安装后,重启SonarQube,通过-Dsonar.branch.name参数指定不同分支进行扫描。

然而,你可能会遇到"Current edition does not support branch feature"的问题。解决方法包括重新启动SonarQube容器并更新环境变量,或者直接在容器内修改sonar.properties文件。尽管这种方法可能会带来一些挑战,但最终是可行的。

总的来说,通过这些步骤,你将学会如何安装SonarQube,以及如何配置它对多分支进行代码扫描分析。记得根据你的实际环境进行调整,以便顺利进行代码质量管理。

SonarQube实现自动化代码扫描

SonarQube官网地址:sonarqube.org/

SonarQube是用于实现自动化代码扫描的工具,安装时在Centos7环境上需注意内存至少3G,否则ES可能运行异常。

Centos7环境下的SonarScanner安装后,执行扫描可获得结果。

集成FindBugs插件于SonarQube中,有多种方式,其中一种是确保Java项目在调用SonarScanner进行扫描前已打包。配置FindBugs执行扫描,通过质量配置页面进行,可选择使用FindBugs Security Audit进行安全代码审计。不加载FindBugs插件时,可取消其规则设置。

SonarQube集成DependencyCheck插件与FindBugs一致,但在使用时需注意项目的编译情况,确保对jar包进行扫描。

对比SonarQube自带规则、DependencyCheck和FindBugs Security Audit,发现SonarQube自带规则对代码Bug检查效果最佳,而DependencyCheck与FindBugs Security Audit在代码安全性检查方面表现更优。

SonarQube可集成至CI&CD流程,如通过Gitlab-CI集成SonarScanner,需注意权限问题。

CI&CD中集成代码扫描时,考虑到依赖包扫描耗时,推荐在发布到测试或预生产环境时进行。定期更新漏洞库,选择在周末夜间执行,周期不超过7天,确保维护成本可控。代码扫描结果可直接通过构建关系映射通知安全或研发人员,初步筛查后,确认漏洞危害性,再提交至企业漏洞管理平台。

在项目管理中,将SonarQube项目属性设为私有,避免信息泄露。在使用SonarScanner时,需注意项目名称命名,避免特殊字符导致Gitlab-CI pipeline执行失败。可通过CI_COMMIT_REF_SLUG变量解决此类问题。

通过上述方法,可实现SonarQube在自动化代码扫描过程中的高效管理与优化,确保代码质量和安全性。

阅读剩余
THE END