首页 > 其他分享 >SonarQube代码质量管理的开源平台

SonarQube代码质量管理的开源平台

时间:2023-07-18 17:26:24浏览次数:30  
标签:postgresql SonarQube 代码 开源 sonarqube docker data

CI/CD流水线完善计划, 增加代码质量检查作业,在开发代码合入前提前发现不安全问题,因此引入代码质量检测-SonarQube服务。

一、SonarQube是什么?
Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

二、SonarQube安装步骤
当前最新发布 SonarQube 社区版9.7,以下步骤以此为例。

1.docker安装
快速安装,仅限于测试或则体验:

docker run -d --name sonarqube --restart always -p 9000:9000 sonarqube
2.docker-compose安装
可用于持久化,私有化部署使用。
docker-compose.yml 配置:

version: "3"
services:
sonarqube:
image: sonarqube:9.7-community
container_name: sonarqube
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
db:
image: postgres:12
container_name: postgres
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgresql:
postgresql_data:

如果是非volume安装,注意给本地文件权限
chmod 777 -R xxxx

修改系统资源:

sysctl -w vm.max_map_count=524288
sysctl -w fs.file-max=131072
ulimit -n 131072
ulimit -u 8192
在docker-compose.yml 文件更目录执行:

docker compose up -d
3. 访问SonarQube
URL: http://localhost:9000
用户名: admin
密码: admin

  1. 配置SonarQube
    4.1 安装中文插件
    在线安装:
    插件在GitHub,因为网络原因可能会安装失败,多试几次。

标签:postgresql,SonarQube,代码,开源,sonarqube,docker,data
From: https://www.cnblogs.com/chenshaojun2008/p/17563548.html

相关文章

  • 提高生产力,让GPT帮你写代码【系列一】
    一、需求需求开发-Bug统计及分析平台技术栈:Python数据库:Mysql前端图表:Matplotlib逻辑实现:通过SQL在Jira数据库查询开发人员Bug数据,然后通过图表展示开发环境:本地win10进行开发需要实际代码,能够在浏览器打开展示图表。二、如何安装Flask确保您已经安装了Python。Flask......
  • 代码随想录算法训练营第三十三天| 01背包问题 二维 01背包问题 一维 416. 分割等和
    01背包问题二维 要求:有一个背包,他只能装4KG,分别有三个物品:115;320;430——》需要物品价值最大 dp[i][j]含义:在放物品I的时候在J背包容量下的物品最大值递推公式: 1,不放当前物品:dp[i-1][j]2,放当前物品:(dp[i-1][j])->不应该是在当前容量下,i-1的最大价值,应该是:dp[i-......
  • python 声波 通信 源代码
    Python声波通信简介在现代科技发展的今天,我们已经习惯了通过网络进行通信,例如使用电子邮件、即时通讯应用或者社交媒体。但是,除了这些常见的通信方式之外,还存在一种古老而有趣的通信方式,那就是声波通信。声波通信是利用声音波动传播的特性进行信息传递的一种方式。通过将信息转化......
  • 代码大全(第2版)
      博文视点-代码大全(第2版)966页152MB ​......
  • iThinkAir代码解释器对照Code Interpreter的应用案例
    前几天OpenAI对Plus会员开放了CodeInterpreter功能,有人说是王炸,有人说是核弹级更新,也有人说是继ChatGPT之后再度让人感受到震撼和颠覆的产品。时隔几天,iThinkAir也创造了自己的"代码解释器"。下面列举iThinkAir"代码解释器"的十几个应用案例,大家可以和CodeInterpreter对照一......
  • app直播源代码,element的select如何获取选中的对象
    app直播源代码,element的select如何获取选中的对象 <el-select     v-model="form.partnerShortName"      filterable     remote     placeholder="请输入关键词"     :remote-method="remoteMethod"     :loadi......
  • python日志记录代码
    Python日志记录的实现步骤为了帮助这位刚入行的小白实现Python日志记录代码,我们将按照以下步骤进行操作。这些步骤将指导他从头开始创建一个基本的日志记录系统。我们首先给出这些步骤的概述,然后逐一介绍每一个步骤的细节以及相应的代码。步骤概述步骤描述1导入loggin......
  • 低代码框架开发:轻松掌握实现流程化管理的诀窍!
    实现流程化管理,已经是当前很多企业的真实想法和发展趋势。毕竟这能帮助企业快速提升办公协同效率,实现提质增效又降本的发展目标。那么,应用什么平台可以让广大用户实现这一目的?利用低代码框架开发平台,可以让大家轻松实现流程化管理,还能在数字化转型的道路上畅快前行。1、低代码框......
  • 聊聊代码之外的事--贪婪与毁灭
        遏制自己内心的知识优越感,才能让自己发自内心的去尊重他人,避免狂妄自大,才能让自己不断的丰富自己的内心。所有通过捷径所获取的快乐,无论是金钱、性还是名望,最终都会给自己带来痛苦。人其实很难抵制诱惑,人只能远离诱惑,千万不要高看自己的定力。必须接受批评,因为它可以帮......
  • 订单超时自动取消的技术方案解析及代码实现
    前言订单超时自动取消是电商平台中常见的功能之一,例如在淘宝、京东、拼多多等商城下单后,如果在一定的时间内没有付款,那么订单会自动被取消,是怎么做到的呢?作为技术人员我们应该了解自动取消的原理和实现逻辑,本文将介绍几种常用的技术方案,帮助开发者实现订单超时自动取消的功能。......