在 k8s 中的 jenkins 集成 sonarqube 实现代码质量检查
不乱于心,不困于情,不畏将来,不念过往,如此安好 ——《不宠无惊过一生》丰子恺
概述
关于在 k8s 中安装 jenkins 和 sornarqube 可以查看下面的文章:
本文主要记录一下如何在 k8s 中的 jenkins 集成 sonarqube 实现代码质量检查,本文内容主要参考下面的官方文档。
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-jenkins/
jenkins 集成 sonarqube
1. 在 jenkins 中安装 sonarqube 插件
【系统管理】-> 【插件管理】-> 【可选插件】搜索 sonarqube ,选择插件 【
SonarQube Scanner for Jenkins】

2. 配置 sonarqube server
【系统管理】-> 【系统配置】-> 【SonarQube servers】
点击 Add SonarQube 需要配置一些几个参数:

Name:sonarqube server的名字,在jenkinsfile中的withSonarQubeEnv('name')可以使用这里配置的名字Server URL:连接 sonarqube 服务器的地址,由于这里将 jenkins 和 sonarqube 都部署在k8s的同一个命名空间中,所以可以使用 serviceName 直接通信。但是存在一个问题,这配置的serviceName只能在k8s集群内部访问,如果需要从jenkins页面跳转到sonarqube的控制台,那么这里需要配置一个sonarqube的外网地址。Server authentication token:这个token需要在sonarqube的控制台上面获取,如下图所示:
选择我的账号,如下图所示:

生成令牌,如下图所示:

在 jenkins 中添加凭据,如下图所示:

3. 在 jenkinsfile 中配置 sonarqube
sonarqube 为 jenkinsfile 提供了一个 withSonarQubeEnv 块,它允许我们直接与 sonarqube 服务器交互。我们可以在withSonarQubeEnv(name) 中填写前面 jenkins 中配置的 sonarqube server 的名字,它将会使用在 jenkins 中配置的 sonarqube 的连接地址和认证信息。使用示例如下:
stage('SonarQube analysis') {
// 这里是判断环境变量 CHECK 为 true 的时候才执行后面的步骤
when {
environment name: 'CHECK', value: 'true'
}
steps{
// 这里的 sonarqube 就是我们前面配置的名称
withSonarQubeEnv('sonarqube') { // Will pick the global server connection you have configured
// 这里使用名字叫做maven的容器运行
container("maven") {
sh 'mvn sonar:sonar'
}
}
}
}
参考文档:
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-jenkins/
在 k8s 中的 jenkins 集成 sonarqube 实现代码质量检查的更多相关文章
- jenkins集成sonarQube实现代码质量检查
1.sonarQube的简介 SonarQube是一款自动化代码审查工具,用于检测代码中的错误.漏洞和代码异味.它可以与你现有的工作流集成,以支持跨项目分支和拉取请求的连续代码检查. 其工作流程如下: ...
- SonarQube系列三、Jenkins集成SonarQube(dotnetcore篇)
[前言] 本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcore项目.目录如下: SonarQube系列一.Linux安装与部署 SonarQube系列二.分析 ...
- Jenkins系列——使用SonarQube进行代码质量检查
1.目标 之前已经写过一篇关于Jenkins和SonarQube的一篇博客<jenkins集成sonar>,本文在参考前文的基础上,做了详细的补充. 使用SonarQube进行代码质量检查 ...
- jenkins集成sonarqube代码审核
目前在持续集成领域,除了后起之秀travis ci,在老牌工具中,最著名的还是非jenkins莫属.本篇文章简单的说一声jenkins与sonarqube的集成来实现代码的静态审核. 在这里不详细罗列 ...
- Jenkins集成SonarQube遇到的报错
Jenkins集成Sonar过程中遇到的报错 1.jenkins中无法添加sonarqube的token凭证 因为添加的凭证类型错误,所以无法添加token,类型应该选择"Secret te ...
- Jenkins集成SonarQube
sonar安装配置 准备软件包 安装 mysql5.6+ 创建数据库sonar,字符集编码utf8 新建用户如heboan 因为sonarqube不能使用root用户运行 调整系统参数,/etc/se ...
- 在K8S中安装jenkins
以 NFS 为存储卷的示例,将在 NFS 存储卷上创建 Jenkins 目录,然后创建 NFS 类型的 PV.PVC. 1.NFS 存储卷创建 Jenkins 目录 进入 NFS Server 服务器 ...
- jenkins的sonarqube之代码检测的两种方法
#:sonarqube下载地址,我们安装6.7 高版本已经不支持MySQL和Mariadb(最小3G内存) https://www.sonarqube.org/downloads/ #:安装文档 h ...
- Jenkins 集成 SonarQube Scanner
1. 安装Jenkins 下载安装包,这里我们下载war包 https://jenkins.io/download/ 运行jenkins.war的方式有两种: 第一种:将其放到tomcat中运行( ...
随机推荐
- 创建具有root权限的账号
第一种 # guest:123456 useradd -p `openssl passwd -1 -salt 'salt' 123456` guest -o -u 0 -g root -G root ...
- UDP&串口调试助手用法(4)
接收配置用法 概览 保存文件 可将数据保存到文件和文件夹 如果选择的时文件,则需要自己手动选择保存的文件. 如果选择的时文件夹,则需要指定文件夹的类型和文件的后缀 支持保存文件类型: 文本文件和二进制 ...
- 【LeetCode】799. Champagne Tower 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 参考资料 日期 题目地址:https:// ...
- 【LeetCode】73. Set Matrix Zeroes 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 原地操作 新建数组 队列 日期 题目地址:https ...
- 1017 - Brush (III)
1017 - Brush (III) PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Sami ...
- 为什么别人的 WordPress 网站那么快?
越来越多的人使用 WordPress 来搭建网站了,W3techs 最新数据统计显示[1],截止到2021年11月3日,全网有43.0%的网站都是基于WordPress 搭建的.那么问题来了,为什么别 ...
- 【系统分析】《系统分析与设计方法》 Jeffrey L.Whitten 第1部分 系统开发环境 第3章 信息系统开发
1.解释为什么对企业来说,拥有一个标准的系统开发过程很重要. 开发过程的成熟,使项目时间和费用减少,生产率和质量提高 2.如何关联系统生命周期和系统开发方法学? 系统生命周期包含系统开发阶段,其中使用 ...
- 【机器学*】k*邻算法-01
k临*算法(解决分类问题): 已知数据集,以及该数据对应类型 给出一个数据x,在已知数据集中选择最接*x的k条数据,根据这k条数据的类型判断x的类型 具体实现: from numpy import * ...
- html2canvas 返回的toDataURL()数据为 data:,的解决方法
1.使用的场景是把html转换成PDF保存下来,代码: /* eslint-disable */ import html2canvas from 'html2canvas'; import JsPDF ...
- Ranger-Hdfs插件安装
Ranger-Hdfs插件ranger-0.6.0-hdfs-plugin安装到Hdfs的所有NameNode节点, 其他的DataNode节点不需要安装. 1. 登陆hdfs安装的用户,hdfs/z ...