SonarQube8.9.6

DevOps Tool评论1,947字数 2501阅读8分20秒阅读模式

SonarQube 简介

SonarQube®是一种自动代码审查工具,可检测代码中的错误,漏洞和代码味道。它可以与您现有的工作流程集成,以实现跨项目分支拉取请求的持续代码检查。

SonarQube8.9.6

SonarQube平台安装配置

1.2.1 组件与服务组成

  • SonarQube Server启动3个主要进程:
    • Web服务器,供开发人员,管理人员浏览高质量的快照并配置SonarQube实例
    • 基于Elasticsearch的Search Server从UI进行搜索服务。
    • Compute Engine服务器,负责处理代码分析报告并将其保存在SonarQube数据库中。
  • SonarQube数据库要存储:SonarQube实例的配置(安全,插件设置等)项目,视图质量快照。
  • 服务器上安装了多个SonarQube插件,可能包括语言,SCM,集成,身份验证和管理插件。
  • 在持续集成服务器上运行一个或多个SonarScanner,以分析项目。

SonarQube8.9.6

  • Java (Oracle JRE 11 or OpenJDK 11)
mkdir -p /data/devops/sonarqube/{sonarqube_conf,sonarqube_extensions,sonarqube_logs,sonarqube_data}
chmod 777 -R /data/devops/sonarqube/
docker run -itd --name sonarqube \
-p 9000:9000 \
-v /data/devops5/sonarqube/sonarqube_conf:/opt/sonarqube/conf \
-v /data/devops5/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \
-v /data/devops5/sonarqube/sonarqube_logs:/opt/sonarqube/logs \
-v /data/devops5/sonarqube/sonarqube_data:/opt/sonarqube/data \
sonarqube:lts-community
  • 查看日志
docker logs -f sonarqube

访问

URL:ip:9000/ admin admin

SonarQube8.9.6

安装中文插件

SonarQube8.9.6

SonarQube8.9.6SonarQube8.9.6SonarQube8.9.6

配置Scanner

scanner的类型有很多, 可以通过官网:https://docs.sonarqube.org/8.9/analysis/overview/ 获取支持的列表。

  • 变更项目代码: 可以使用构建工具进行扫描。例如maven、ant、gradle可以在配置文件中引入对应的配置。
  • 不变更项目代码配置: 可以使用Jenkins或其他平台的扩展插件, 以及使用命令行进行扫描。

下载CLI包

[root@i-sfg7loip ~]# wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.7.0.2747-linux.zip

[root@i-sfg7loip ~]# unzip sonar-scanner-cli-4.7.0.2747-linux.zip 
[root@i-sfg7loip ~]# mv sonar-scanner-4.7.0.2747-linux /usr/local/
[root@i-sfg7loip ~]# vim /etc/profile.d/sonar-scanner.sh
export SONAR_SCANNER_HOME=/usr/local/sonar-scanner-4.7.0.2747-linux
export PATH=$SONAR_SCANNER_HOME/bin:$PATH
[root@i-sfg7loip ~]# source /etc/profile

测试

[root@i-sfg7loip ~]# sonar-scanner -v
INFO: Scanner configuration file: /usr/local/sonar-scanner-4.7.0.2747-linux/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarScanner 4.7.0.2747
INFO: Java 11.0.14.1 Eclipse Adoptium (64-bit)
INFO: Linux 4.18.0-372.9.1.el8.x86_64 amd64

这里请注意JDK版本的问题, 默认安装的sonarscanner是使用自带的jdk。通过上面的显示可以发现是jdk1.11版本, 如果想使用系统默认的jdk版本,可以修改scanner可执行程序的配置。如下所示:

[root@i-sfg7loip ~]# vim /usr/local/sonar-scanner-4.7.0.2747-linux/bin/sonar-scanner
 42 use_embedded_jre=true
 43 if [ "$use_embedded_jre" = true ]; then
 44   export JAVA_HOME="$sonar_scanner_home/jre"
 45 fi

改成
 42 use_embedded_jre=false
 43 if [ "$use_embedded_jre" = true ]; then
 44   export JAVA_HOME="$sonar_scanner_home/jre"
 45 fi

继续阅读
DevOps
  • 本文由 发表于 2022年11月15日 14:04:14
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
  • SonarQube
部署NFS服务 NFS

部署NFS服务

部署 NFS 服务 服务端: 192.168.100.11 安装依赖 yum -y install epel-release 安装 NFS yum -y install nfs-...
git clone代码报文件名过长 Tool

git clone代码报文件名过长

简述 由于工程路径过长导致克隆代码时会出现文件名过长的问题不能clone代码中断 打开git Bash窗口执行 git config --global core.longpaths tr...
服务器禁ping Tool

服务器禁ping

ping是通的 [root@nginx-2 ~]# ping 192.168.1.227 PING 192.168.1.227 (192.168.1.227) 56(84) bytes of da...
linux压缩包加密 Tool

linux压缩包加密

OpenSSL加密算法 OpenSSL是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库、应用程序、SSL协议库[vip] Openssl支持的加密算法有: ...
评论  0  访客  0

发表评论