Devops实现之sonarQube(四)

本文详细介绍了如何在Linux环境下安装配置SonarQube,包括安装JDK、PostgreSQL数据库,部署SonarQube服务,配置Nginx反向代理,并探讨了代码检查的重要性和相关工具。同时,讲解了在Jenkins和GitLab中集成SonarQube的步骤,以及SonarQube的权限管理和质量阀配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态测试是指不运行被测程序本身,通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。而动态测试是通过运行被测程序来检查运行结果与预期结果的差异,并分析运行效率和健壮性等指标。

静态测试被测对象是各种与软件相关的有必要进行测试的产物,是对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。静态测试可以手工进行,充分发挥人的思维的优势,并且不需要特别的条件,容易展开,但是静态测试对测试人员的要求较高,至少测试人员需要具有编程经验。

静态测试主要包括各阶段的评审、代码检查、程序分析、软件质量度量等,用于对被测程序进行特性分析。其中评审通常有人来执行;代码检查程序分析、软件质量度量等即可人工完成,也可用工具来完成,但工具的作用和效果相对更大更好一些。

一 代码检查

代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面;可以发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。

从代码检查的定义中我们可以看出代码检查不需要自动任何服务就可以通过代码扫描完成,全部过程都是按照预定义好的规则完成的,只要针对不同的编程语言设计好不同的规则就可以对其进行代码扫描,完成代码检查任务了。如果能将其放到一个工具中完成,那么人工可以完全不参与,是一个完全自动化的流程。这也就导致了通过代码扫描完成的代码检查工作只是一个代码预定规则的检查,并不能保障其编写逻辑符合预期设计,同时如果预定规则不合理那么代码扫描的结果的偏差就会很大。

1、安装相关工具 [root@sonarqube ~]# yum install -y epel-release unzip vim wget

2、安装JDK 我这里直接下载的oracle jdk的rpm包进行安装的 注意:运行sonarqube需要java11版本,我安装最新的13版本会报错

[root@sonarqube ~]# cd /opt/

[root@sonarqube opt]# rpm -ivh jdk-11.0.1_linux-x64_bin.rpm

3、安装数据库(PGSQL) 3.1:添加 PostgreSQL 10 YUM 源

[root@sonarqube ~]# rpm -Uvh https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat-repo-42.0-11.noarch.rpm

3.2:安装 PostgreSQL 10 Server

[root@sonarqube ~]# yum install -y postgresql10-server postgresql10

3.3:初始化 PGDATA

[root@sonarqube ~]# /usr/pgsql-10/bin/postgresql-10-setup initdb

3.4:编辑配置文件启动MD5验文章来源(Source):

[root@sonarqube ~]# vim /var/lib/pgsql/10/data/pg_hba.conf

3.5:如果postgreSQL server不在本机,还需要做以下操作

1)默认情况下, PostgreSQL server 监听本机 ‘localhost’. 如果是远程连接PostgreSQL server,需要修改

/var/lib/pgsql/10/data/postgresql.conf中的监听地址为 listen_addresses = ‘*’

2)允许所有连接都是用 MD5 密码认证,在/var/lib/pgsql/10/data/pg_hba.conf的最后添加:

host all all 0.0.0.0/0 md5

3.6:放通端口 如果开启了防火墙,还需要在防火墙上允许 TCP port 5432

[root@sonarqube ~]# firewall-cmd --permanent --zone=public --add-port=5432/tcp

[root@sonarqube ~]# firewall-cmd --reload

3.7:启动服务

[root@sonarqube ~]# systemctl start postgresql-10

[root@sonarqube ~]# systemctl enable postgresql-10

[root@sonarqube ~]# systemctl status postgresql-10

[root@sonarqube ~]# ss -tnlp |grep 5432

3.8:创建数据库

[root@sonarqube ~]# sudo -u postgres psql

CREATE DATABASE sonar;

CREATE USER sonar WITH ENCRYPTED PASSWORD ‘xjbw8888’;

GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值