制作网站怎么做的,北京高端网站制作公司,免费模板网站,wordpress 30天一、SonarQube是什么#xff1f;
SonarQube是一种自我管理的自动代码审查工具#xff0c;可以系统地帮助您交付干净的代码。作为我们Sonar 解决方案的核心元素 #xff0c;SonarQube 集成到您现有的工作流程中并检测代码中的问题#xff0c;以帮助您对项目执行持续的代码检…一、SonarQube是什么
SonarQube是一种自我管理的自动代码审查工具可以系统地帮助您交付干净的代码。作为我们Sonar 解决方案的核心元素 SonarQube 集成到您现有的工作流程中并检测代码中的问题以帮助您对项目执行持续的代码检查。该工具可分析 30 多种不同的编程语言 并集成到您的 CI 管道 和 DevOps 平台中 以确保您的代码符合高质量标准。
二、SonarQube 实例包含三个组件
SonarScanner扫描器负责将源文件进行代码分析并将分析后的报告发送给SonarQube服务器SonarQube ServerSonarQube服务器负责处理分析报告后台管理等Database server数据库服务器负责存储数据 三 、安装
1. Java 环境
$~ java -version
java version 11.0.2 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.29-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.29-LTS, mixed mode)
2. SonarQube 镜像下载
$ docker pull sonarqube
$ docker volume create --name sonarqube_data
$ docker volume create --name sonarqube_logs
$ docker volume create --name sonarqube_extensions
$ docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLEtrue -p 9000:9000 sonarqube:latest
您现在可以通过 http://localhost:9000 浏览 SonarQube 默认系统管理员凭据是 admin/ admin
3. 安装中文插件
3.1 在线安装 需点击 I understand the risk 3.2 手动安装 1.sonar-|10n-zh-plugin。该版本需要与您的 SonarQube 版本兼容。 2.将下载的 jar 放入 中 SONARQUBE_HOME/extensions/plugins并删除相同插件的所有以前版本。 3.重新启动您的 SonarQube 服务器。
四、搭建项目
1. 选择手动创建项目根据提示一步步去创建项目... 2. 接下来要生成Token, 并且最好是把生成token事先保存下来 Plain Textsqp_603a34460857921938f47eb9e11757d821a9d6c2 3. 然后选择配置选项选择项目构建技术, 选选择当前系统环境
4. 根据提示下载并安装 SonarScanner
5. 下载后解压重命名后拷贝到 /usr/local/ 目录下并设置环境变量
$ vi ~/.bash_profileexport SONAR_RUNNER_HOME/usr/local/sonar-scannerexport
PATH$PATH:$SONAR_RUNNER_HOME/bin$ source ~/.bash_profile
6. 设置好以后通过以下方式验证一下看到如下信息就表示设置成功
~ sonar-scanner -v
INFO: Scanner configuration file: /usr/local/Cellar/sonar-scanner/4.8.0.2856/libexec/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarScanner 4.8.0.2856
INFO: Java 11.0.17 Homebrew (64-bit)
INFO: Mac OS X 13.4.1 x86_64
7. 修改sonar-scanner文件夹下的 conf/sonar-scanner.properties配置文件打开以下两行代码注释后保存
#----- Default SonarQube server
sonar.host.urlhttp://localhost:9000
#----- Default source code encoding
sonar.sourceEncodingUTF-8
五、扫描项目
1. 进入到项目要目录执行以下命令
sonar-scanner \-Dsonar.projectKeytest-project \-Dsonar.sources. \-Dsonar.host.urlhttp://localhost:9000 \-Dsonar.loginsqp_603a34460857921938f47eb9e11757d821a9d6c2
或 在项目根目录创建 sonar-project.properties文件
// Properties
# 本地自己起的sonarqube服务地址
sonar.host.urlhttp://127.0.0.1:9000/
# Sonar 令牌
sonar.loginsqp_603a34460857921938f47eb9e11757d821a9d6c2
# Sonar项目标识在 SonarQube实例下必须唯一
sonar.projectKeytest-project
sonar.projectNametest-project# 项目版本
sonar.projectVersion1.4.0
# 代码文件的编码
sonar.sourceEncodingUTF-8
# 项目代码与 sonar-project.properties 文件的相对路径
sonar.sources./src
# 排除不参与代码分析的文件或目录
sonar.exclusions/node_modules/
sonar.tests./src
sonar.test.inclusions**/*.spec.ts
2. 运行sonar-scanner命令看到类似以下输出就说明扫描成功~ 3. 刷新 http://localhost:9000 查看报告 六、高级进阶
更换数据库如PostgreSQL、MySQL...
GitLab integration
GitLab 关联 SonarQube 实现CI/CD代码扫描
SonarQube结合GitLab CI/CD自动检测Push和Merge Request的增量代码质量
SonarQube集成gitlab/jenkins
七、补充
1. SonarQube 和 eslint 区别
ESLint它主要用于JavaScript和TypeScript代码的Linting即语法检查和代码风格检查。ESLint是一个可扩展的工具允许你自定义规则以适应特定的编码风格和规范。ESLint的重点是实时反馈它可以轻松集成到IDE和编辑器中通常用于开发过程中。
SonarQube它是一个多语言的代码质量检查工具支持包括JavaC#JavaScriptTypeScript在内的30多种语言。SonarQube不仅检查语法错误和代码风格还分析代码的复杂性检测可能的漏洞做代码覆盖率统计等。它的主要目标是长期的代码质量跟踪和管理通常在CI/CD流水线中使用。
简单来说ESLint主要用于JavaScript/TypeScript的语法和风格检查强调的是实时反馈而SonarQube是一种多语言支持更全面的代码质量管理工具强调的是代码质量的长期跟踪和管理。 参考文档
Docs SonarQube
macOS sonar-scanner环境搭建
SonarQube代码质量检查平台
其他类似工具
DeepSource
DeepScan