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

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

7.3 Sonar Qube基本使用

Sonar Qube的使用方式很多,Maven可以整合,也可以采用sonar-scanner的方式,再查看Sonar Qube的检测效果


7.3.1 Sonar-scanner实现代码检测

  1. 下载Sonar-scanner压缩包:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/

下载4.6.x版本即可,要求Linux版本

  1. 解压并配置sonar服务端信息


① 由于是zip压缩包,需要安装unzip解压插件

yum -y install unzip


②解压压缩包

unzip sonar-scanner-cli/sonar-scanner-cli-4.6.0.2311-linux.zip


③改名并移动/usr/local/docker/jenkins_docker/data/

cd
mv sonar-scanner-4.6.1.2450-linux/ sonar-scanner
mv sonar-scanner /usr/local/docker/jenkins_docker/data/


④配置SonarQube服务端地址,修改conf下的sonar-scanner.properties文件

cd /usr/local/docker/jenkins_docker/data/sonar-scanner/conf
vim sonar-scanner.properties

04125841d05147ceb0417d1f924274a9.png

  1. 执行命令检测代码
# 在项目所在目录执行以下命令,我这里在/usr/local/docker/jenkins_docker/data/workspace/mytest下执行
/usr/local/docker/jenkins_docker/data/sonar-scanner/bin/sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=linux-test -Dsonar.login=23f05c92e77dfeb4da952f461286d5f06ef34383 -Dsonar.projectKey=linux-test -Dsonar.java.binaries=./target/
解释:
/usr/local/docker/jenkins_docker/data/sonar-scanner/bin/sonar-scanner  :sonar-scanner命令所在目录
-Dsonar.sources=./  :检测的文件所在目录
-Dsonar.projectname=linux-test  :给检测项目命名
-Dsonar.login=23f05c92e77dfeb4da952f461286d5f06ef34383  :sonarqube网页上生成令牌
-Dsonar.projectKey=linux-test  :指定项目标识(key)
-Dsonar.java.binaries=./target/  :设置编译过后的内容在哪


Ps:主要查看我的sonar-scanner执行命令的位置,这里是/usr/local/docker/jenkins_docker/data/sonar-scanner/bin/sonar-scanner

查看日志:

6b2a143988c5406f8f067d6ab6977671.png

4、查看SonarQube界面检测结果

a4c8af28c74e457ba7ae5ef2e2bf7521.png


7.4 Jenkins集成Sonar Qube

Jenkins继承Sonar Qube实现代码扫描需要先下载整合插件


7.4.1 Jenkins中安装sonarqube插件

在Jenkins中下载SonarQube Scanner插件

ac0492cccb0845bcbd8d065e1a4dde33.png


2f065b6e578f4fefb60673b9842fdbb0.png


d699798c4dbb4e578b5584c3287d8cc5.png


7.4.2 Jenkins系统配置Sonar Qube
  1. 先在sonarqube上开启Sonar Qube权限验证,一般默认是开启的

5f673abe26c242b8a5664b8aa47b0c37.png

2、获取Sonar Qube的令牌

882ebbf5f28449898701f48e1311038c.png


3、在Jenkins上配置Sonar Qube信息

【系统管理】——【系统配置】

065ac55146d244f8b426931f9e2083ed.png

找到SonarQube servers

51704e12c5e14939aa55cb17e2614b93.png

3328bdbaaa0b4b748c3fb4633c30c678.png

密码可能添加不了,没关系,先应用保存,然后再回来添加

1d8d5c936fd14e1c9abf9a4f2f662510.png

选择刚才加好的信息,应用保存

a8a48863fe8e4d64accf1564c2537765.png

7.4.3 全局配置Sonar-scanner
  1. 将Sonar-scaner添加到Jenkins数据卷中并配置全局配置

5d0a286e297a4f7e88b202375b0ac7f7.png

2、mytest任务里构建操作配置sonar-scanner

4339dabd8d9640c89f3054679c8cf2cc.png

编辑参数

c82de3f1cb79464e8eca660281366427.png

sonar.projectname=${JOB_NAME}
sonar.projectKey=${JOB_NAME}
sonar.source=./
sonar.java.binaries=target
7.4.4 构建任务

点击立即构建,如果报错,检查/usr/local/docker/jenkins_docker/data/workspace/mytest下是否有隐藏文件“.scannerwork”,有的话就删掉,再次构建。

d0fc098a67e84145b843095d657d5034.png


9d387e3c32474bc7b181f0268ca80246.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

热门文章

最新文章