DevOps实战系列【第九章】:详解Sonarqube搭建及集成Jenkins环境

SonarQube实战
本文介绍如何使用SonarQube进行代码质量和安全审计,涵盖SonarQube的部署、中文插件安装、与Maven及Jenkins的集成,并探讨不同场景下的最佳实践。

个人亲自录制全套DevOps系列实战教程手把手教你玩转DevOps全栈技术

在这里插入图片描述

质量安全审计:Sonarqube

Sonarqube(声呐)大家应该不陌生,通过扫描代码分析代码质量与代码安全,方便我们快速定位代码缺陷、潜在风险。

个人建议: 作为项目质量智能分析工具,他是个双刃剑,在公司规模足够大并且足够重视代码质量时,sonar会有一个不错的位置;当如果公司规模小型,并且公司不足以把重点放在代码质量上,那么sonar可能会成为拖后腿的工具,一句话就是是否有必要上sonar完全看公司的需求以及成本。

作用阶段: 我们讨论下sonar应该在什么阶段起作用

  • 代码开发阶段实时检测【sonarlint插件,为sonar 8.5版本后提供,需要集成到开发工具如Idea,配置时需要sonarqube服务支持,分析结果会提示在控制台,类似前端eslint作用】
  • 代码提交前进行sonar扫描【需集成到本地开发工具,如Idea或Eclipse】
  • 提交代码时进行sonar扫描【需集成到gitlab,如sonar-gitlab-plugin,也可结合Gitlab CI进行提交流程控制】
  • 构建代码时进行sonar扫描【需集成到jenkins,如SonarQube Scanner插件】
  • 由sonar定期自主扫描代码生成报告【可以用jenkins的定时job】

具体应该部署哪种方案,也需要大家根据自身情况适当选择,没有完美的方案,选择最适合自己的方案即可。

此处我们集成到jenkins做演示。其他方式大家有兴趣可以找我咨询。

Docker容器部署

官网:https://docs.sonarqube.org/latest/setup/install-server/

根据官方文档可知,sonar是支持docker部署的,并且非常简单,sonar默认使用H2数据库,我们也可以指定自己的mysql等数据库。

选用版本:8.9 该版本为LTS长期支持版本,从7.9版本开始sonar必须有jdk11支持并且不再支持Mysql数据库。sonar默认采用H2数据库。

官方推荐配置:SonarQube扫描器需要版本8或11的JVM,SonarQube服务器需要版本11和最少2G内存,具体大家可以官网看。

Sonar的社区版免费
在这里插入图片描述
Sonar包括3个组件: Scanner负责扫描代码并分析生成报告->报告交给Sonar服务进行计算->最终结果存入数据库。下边我们通过docker-compose方式启动sonar容器。

注意:sonar不能以root身份运行在基于Unix系统上,我们这里使用的是基于Debian内核,所以没问题。

# vi /docker/sonarqube/docker-compose.yml
# 此处我们使用默认的H2数据库,如果外接数据库,可参考官网docker-compose.yml文件
version: "3"
services:
  sonarqube:
    # 使用一下私服拉取
    image: 10.10.1.199:9083/sonarqube:8.9-community
    restart: always
    container_name: 'sonarqube'
    hostname: 'sonarqube'
    networks:
      - 'exist-net-bloom'
    volumes:
      # 配置文件
      - '/docker/sonarqube/conf:/opt/sonarqube/conf'
      # 保存H2数据和ES索引文件
      - '/docker/sonarqube/data:/opt/sonarqube/data'
      # 保存第三方插件
      - '/docker/sonarqube/extensions:/opt/sonarqube/extensions'
      # 日志
      - '/docker/sonarqube/logs:/opt/sonarqube/logs'
    ports:
      - "9097:9000"
networks:
  exist-net-bloom:
    external:
      name: devops
      
# 如果需要自行修改配置,比如使用其他数据库等,可以在conf目录增加sonar.properties配置文件,具体可到官方获取
# 官方下载地址:https://www.sonarqube.org/downloads/

访问:10.10.1.199:9097,注意以上docker-compose.yml并未指定上下文,默认为/,可以自行指定。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上树的蜗牛儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值