【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

相关文章
|
7月前
|
Devops jenkins Java
【devops】八、集成Harbor(上)
【devops】八、集成Harbor(上)
|
7月前
|
安全 前端开发 Devops
【devops】七、集成Sonar Qube(上)
【devops】七、集成Sonar Qube(上)
137 0
|
7月前
|
jenkins Devops 持续交付
【devops】八、集成Harbor(下)
【devops】八、集成Harbor(下)
|
9月前
|
监控 NoSQL jenkins
2021-9-11大连东软实训---gitlab 、jenkins和sonar集成
2021-9-11大连东软实训---gitlab 、jenkins和sonar集成
66 0
|
Kubernetes 前端开发 jenkins
devops-在jenkins-slave(k8s)中集成Jmeter使用
devops-在jenkins-slave(k8s)中集成maven使用
devops-在jenkins-slave(k8s)中集成Jmeter使用
|
存储 Kubernetes Java
devops-在jenkins-slave(k8s)中集成maven使用
在jenkins-slave(k8s)中集成maven使用
devops-在jenkins-slave(k8s)中集成maven使用
|
2月前
|
运维 安全 Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
在数字化转型的浪潮中,企业对于IT基础设施的要求越来越高,不仅需要快速响应市场变化,还要确保系统的稳定与安全。本文深入探讨了如何通过融合DevOps文化和容器化技术来构建一个高效、稳定且易于管理的云基础设施。通过实际案例分析,阐述了持续集成/持续部署(CI/CD)流程的优化、自动化测试、监控以及日志管理等关键环节的实施策略,旨在为运维专业人员提供一套切实可行的解决方案。
31 3
|
2月前
|
运维 Kubernetes Devops
构建高效可靠的云基础设施:DevOps与容器化技术融合实践
【2月更文挑战第30天】 在当今快速迭代和竞争激烈的软件开发领域,传统的IT运维模式已难以满足业务发展的需要。本文将探讨如何通过整合DevOps文化和容器化技术,构建一个既高效又可靠的云基础设施。文章首先回顾了DevOps的核心理念及其对运维工作流的影响,接着深入讨论了容器化技术的优势和挑战,并提出了一套结合两者的实施方案。最后,通过案例分析展示了该方案在实际环境中的应用效果和潜在益处。
|
16天前
|
运维 Kubernetes Devops
构建高效自动化运维体系:DevOps与容器技术融合实践
【4月更文挑战第15天】 在当今快速发展的信息技术时代,传统的IT运维模式已难以满足业务敏捷性的需求。本文旨在探讨如何通过整合DevOps理念和容器技术来构建一个高效的自动化运维体系。文章将详细阐述DevOps的核心原则、容器技术的基础知识,以及两者结合的优势。此外,文中还将分享一系列实践经验,包括持续集成/持续部署(CI/CD)流程的搭建、微服务架构的应用,以及监控和日志管理策略的优化,以期帮助企业实现快速、可靠且安全的软件交付过程。
|
17天前
|
运维 Devops 持续交付
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
【4月更文挑战第13天】 在当今快速迭代和持续部署的软件开发环境中,传统的IT运维模式已难以满足业务发展的需求。本文聚焦于如何通过融合DevOps理念与容器化技术,构建一个高效、稳定且易于管理的云基础设施。文章将探讨持续集成/持续交付(CI/CD)流程的优化、容器化技术的最佳实践、以及微服务架构下的应用管理,以期为企业提供一种改进运维效率、加速产品上市时间,同时保障系统稳定性的解决方案。

热门文章

最新文章