【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

相关文章
|
10月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
280 2
|
10月前
|
存储 监控 Devops
DevOps实践:持续集成/持续部署(CI/CD)的实战指南
DevOps实践:持续集成/持续部署(CI/CD)的实战指南
|
10月前
|
运维 Devops jenkins
DevOps实践:持续集成与持续部署在现代软件开发中的作用
【10月更文挑战第42天】在快节奏的软件开发世界里,DevOps已经成为一种提升效率、确保质量和加速交付的重要方法。本文将深入探讨DevOps的核心组成部分—持续集成(CI)和持续部署(CD)—并展示它们如何通过自动化流程优化开发周期。我们将从基础概念讲起,逐步过渡到实际操作,最终通过一个简单代码示例来演示这一过程。文章旨在为读者提供清晰的指导,帮助他们理解和实现CI/CD流程,从而在软件开发领域取得竞争优势。
|
10月前
|
Devops jenkins 测试技术
DevOps实践:自动化部署与持续集成的融合之旅
【10月更文挑战第41天】在软件开发的世界中,快速迭代和高效交付是企业竞争力的关键。本文将带你走进DevOps的核心实践——自动化部署与持续集成,揭示如何通过它们提升开发流程的效率与质量。我们将从DevOps的基本理念出发,逐步深入到具体的技术实现,最终展示一个实际的代码示例,让理论与实践相结合,为你的开发旅程提供清晰的指引。
178 4
|
10月前
|
运维 Devops jenkins
DevOps实践之持续集成与持续交付
【10月更文挑战第32天】在软件开发的快节奏世界中,DevOps已经成为提升效率和质量的关键策略。通过将开发(Development)和运维(Operations)紧密结合,DevOps促进了更快速的软件发布和更高的可靠性。本文将深入探讨DevOps的核心组成部分——持续集成(CI)和持续交付(CD),并展示如何通过实际代码示例实现它们,以帮助团队构建更加高效和稳定的软件发布流程。
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 监控 Java
阿里云云效产品使用合集之Codeup WebIDE环境下,如何使用通义灵码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何进行大文件的迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 安全 测试技术
阿里云云效产品使用合集之如何在甘特图视图中看到负责人信息
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。

热门文章

最新文章