【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

相关文章
|
1月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
61 2
|
1月前
|
运维 Devops jenkins
DevOps实践:持续集成与持续部署在现代软件开发中的作用
【10月更文挑战第42天】在快节奏的软件开发世界里,DevOps已经成为一种提升效率、确保质量和加速交付的重要方法。本文将深入探讨DevOps的核心组成部分—持续集成(CI)和持续部署(CD)—并展示它们如何通过自动化流程优化开发周期。我们将从基础概念讲起,逐步过渡到实际操作,最终通过一个简单代码示例来演示这一过程。文章旨在为读者提供清晰的指导,帮助他们理解和实现CI/CD流程,从而在软件开发领域取得竞争优势。
|
1月前
|
Devops jenkins 测试技术
DevOps实践:自动化部署与持续集成的融合之旅
【10月更文挑战第41天】在软件开发的世界中,快速迭代和高效交付是企业竞争力的关键。本文将带你走进DevOps的核心实践——自动化部署与持续集成,揭示如何通过它们提升开发流程的效率与质量。我们将从DevOps的基本理念出发,逐步深入到具体的技术实现,最终展示一个实际的代码示例,让理论与实践相结合,为你的开发旅程提供清晰的指引。
43 4
|
1月前
|
存储 监控 Devops
DevOps实践:持续集成/持续部署(CI/CD)的实战指南
DevOps实践:持续集成/持续部署(CI/CD)的实战指南
|
1月前
|
运维 Devops jenkins
DevOps实践之持续集成与持续交付
【10月更文挑战第32天】在软件开发的快节奏世界中,DevOps已经成为提升效率和质量的关键策略。通过将开发(Development)和运维(Operations)紧密结合,DevOps促进了更快速的软件发布和更高的可靠性。本文将深入探讨DevOps的核心组成部分——持续集成(CI)和持续交付(CD),并展示如何通过实际代码示例实现它们,以帮助团队构建更加高效和稳定的软件发布流程。
|
2月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
26天前
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
50 0
|
5月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
318 6
|
5月前
|
Java 关系型数据库 MySQL
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
421 4
|
5月前
|
消息中间件 Java 测试技术
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
385 1