【devops】七、集成Sonar Qube(上)

简介: 【devops】七、集成Sonar Qube(上)

说明


这里使用Jenkins服务器部署Sonar Qube来检测代码,如果电脑内存允许,也可以单独加一台服务器部署Sonar Qube。


七、集成Sonar Qube


8ed82af0b5494ac595ff370fcd3d0c29.png

7.1 Sonar Qube介绍

Sonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。

Sonar Qube可以与多种软件整合进行代码扫描,比如Maven,Gradle,Git,Jenkins等,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来。

下图为Sonar Qube的UI界面

394ed51e820b4e799636a8bf89d30dfd.png

7.2 Sonar Qube环境搭建


7.2.1 Sonar Qube安装——docker安装

Sonar Qube在cent os 7.9版本中已经放弃了对MySQL的支持,并且建议在商业环境中采用PostgreSQL,那么安装Sonar Qube时需要依赖PostgreSQL。

并且这里会安装Sonar Qube的长期支持版本8.9

  1. 拉取镜像
docker pull postgres
docker pull sonarqube:8.9.6-community


  1. 编写docker-compoe.yml
# 创建目录sonarqube_docker,在此目录下编辑yml文件
cd /usr/local/docker
mkdir sonarqube_docker
cd sonarqube_docker
ls
vim docker-compose.yml
下面内容粘贴进去:
version: "3.1"
services:
  db:
    image: postgres
    container_name: db
    ports:
      - 5432:5432   # 默认端口5432
    networks:
      - sonarnet
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
  sonarqube:
    image: sonarqube:8.9.6-community
    container_name: sonarqube
    depends_on:
      - db
    ports:
      - "9000:9000"
    networks:
      - sonarnet
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
networks:
  sonarnet:
    driver: bridge


  1. 配置最大内存
# 设置最大内存
vim /etc/sysctl.conf
# 加入以下内容
vm.max_map_count=262144
# 重新加载
sysctl -p


  1. 启动容器
cd /usr/local/docker/sonarqube_docker
docker-compose up -d


需要一定时间启动,可以可以查看容器日志,看到如下内容代表启动成功

41d496a2f59346f38764f2f47b9d6bf2.png

7.2.2 访问sonarqube

访问Sonar Qube首页——用IP+端口号,这里是192.168.2.211:9000。默认用户名和密码都为admin

07237d03fae943e6af6f148a4ad048f7.png

还需要重新设置一次密码

15143bb821fe44f28720f24617229d6c.png

进入Sonar Qube首页

708ecd2ceffd4d7685e62348f591366e.png

7.2.3 安装中文插件

05c34912604146dfb61ca946448b4b27.png

安装成功后需要重启,安装失败重新点击install重装即可。

安装成功后,会查看到重启按钮,点击即可

0ee4a1a5baf146dda314dd889909eba5.png

重启后查看效果

3bbbeba30acd42cda7714624fd0b05f8.png

相关文章
|
9月前
|
Devops jenkins Java
【devops】八、集成Harbor(上)
【devops】八、集成Harbor(上)
|
13天前
|
监控 Devops 测试技术
DevOps实践:持续集成与持续部署(CI/CD)在现代软件开发中的作用
【6月更文挑战第24天】本文深入探讨了持续集成(Continuous Integration,简称CI)和持续部署(Continuous Deployment,简称CD)在现代软件开发生命周期中的核心作用。通过阐述CI/CD的概念、优势以及实施策略,文章旨在为读者提供一套完整的理论框架和实践指南,以促进软件开发流程的高效性和产品质量的提升。
|
20天前
|
运维 监控 Devops
DevOps实践:持续集成与持续部署(CI/CD)的精髓
【6月更文挑战第17天】本文将深入探讨DevOps文化中的核心实践——持续集成(CI)和持续部署(CD)。我们将从理论出发,逐步过渡到实际操作,介绍如何搭建一个高效的CI/CD流程。文章将涵盖工具选择、流程设计、自动化测试以及监控和反馈机制的建立。通过具体案例分析,揭示成功实施CI/CD的关键因素,并探讨如何在组织内推广这一实践以促进开发和运维之间的协作。
|
2月前
|
Devops 开发工具 数据安全/隐私保护
Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
177 0
|
9月前
|
jenkins Devops 持续交付
【devops】八、集成Harbor(下)
【devops】八、集成Harbor(下)
|
4天前
|
监控 Devops 测试技术
利用DevOps提升开发效率:技术实践与策略
【7月更文挑战第4天】DevOps通过自动化、CI/CD、协作与沟通等手段,显著提升了软件开发的效率和质量。随着云计算、容器化、自动化测试等技术的不断发展,DevOps的实践将更加深入和广泛。未来,更多的企业将采用DevOps文化,构建高效、灵活、可靠的软件开发和运维体系,以应对快速变化的市场需求。 总之,利用DevOps提升开发效率是软件开发领域的重要趋势。通过实施上述实践策略,企业可以加速产品迭代,提高市场竞争力,实现可持续发展。
|
25天前
|
运维 监控 Devops
DevOps文化下的自动化运维实践
本文将探讨在DevOps文化背景下,自动化运维的重要性及其实现方式。通过分析自动化运维的优势和挑战,文章提供了具体的实施策略和案例,旨在帮助读者理解如何在DevOps实践中融入自动化运维,以提高软件开发和部署的效率与质量。
|
8天前
|
运维 监控 Devops
DevOps实践:构建高效运维流程
【6月更文挑战第29天】在现代软件开发周期中,DevOps已成为推动开发和运维团队紧密合作的重要哲学。本文将探讨如何通过DevOps实践来构建一个更高效的运维流程,从而提升软件交付速度、提高产品质量,并确保系统的稳定性和安全性。我们将从持续集成、自动化测试、配置管理、容器化部署、监控与告警等关键方面入手,深入分析DevOps实施过程中的关键环节及其对运维工作的影响。
25 3
|
17天前
|
运维 Devops 测试技术
DevOps:文化、工具与实践的深度融合
【6月更文挑战第21天】DevOps融合文化、工具与实践,促进开发与运维协作,加速软件交付。核心包括共享文化、自动化工具(如Git、Jenkins)与流程优化(敏捷、自动化、微服务)。DevOps助力团队协作,提高效率,降低运维成本,驱动企业持续创新与成长。
|
17天前
|
运维 监控 Devops
DevOps实践:从理论到现实的转变
【6月更文挑战第20天】在数字化浪潮的推动下,DevOps作为一种文化和实践,正逐渐成为企业追求敏捷、高效运维不可或缺的一环。本文将深入探讨DevOps的核心理念、实践策略以及面临的挑战,并结合真实案例分析其在实际工作中的应用效果。通过阐述DevOps实施过程中的关键因素,文章旨在为读者提供一套完整的DevOps落地指南,以助力企业实现持续集成与持续交付的目标。
23 2