在 k8s 中的 jenkins 集成 sonarqube 实现代码质量检查

不乱于心,不困于情,不畏将来,不念过往,如此安好 ——《不宠无惊过一生》丰子恺

概述

关于在 k8s 中安装 jenkins 和 sornarqube 可以查看下面的文章:

在 k8s 中安装 jenkins

使用 helm 在 k8s 中安装 sonarqube

本文主要记录一下如何在 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 需要配置一些几个参数:

  • Namesonarqube 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

sonarqubejenkinsfile 提供了一个 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/

本文作者:blogwd

本文链接:https://www.cnblogs.com/blogwd/p/15357405.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   blogwd  阅读(379)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 不要说话 REOL
  2. 2 这世界那么多人 REOL
  3. 3 盛夏的果实 REOL
这世界那么多人 - REOL
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 王海涛

作曲 : Akiyama Sayuri

编曲 : 彭飞

制作人 : 荒井十一/彭飞

这世界有那么多人

人群里 敞着一扇门

我迷朦的眼睛里长存

初见你 蓝色清晨

这世界有那么多人

多幸运 我有个我们

这悠长命运中的晨昏

常让我 望远方出神

灰树叶飘转在池塘

看飞机轰的一声去远乡

光阴的长廊 脚步声叫嚷

灯一亮 无人的空荡

晚风中闪过 几帧从前啊

飞驰中旋转 已不见了吗

远光中走来 你一身晴朗

身旁那么多人 可世界不声 不响

这世界有那么多人

多幸运 我有个我们

这悠长命运中的晨昏

常让我 望远方出神

灰树叶飘转在池塘

看飞机轰的一声去远乡

光阴的长廊 脚步声叫嚷

灯一亮 无人的空荡

晚风中闪过 几帧从前啊

飞驰中旋转 已不见了吗

远光中走来 你一身晴朗

身旁那么多人 可世界不声 不响

笑声中浮过 几张旧模样

留在梦田里 永远不散场

暖光中醒来 好多话要讲

世界那么多人 可是它不声 不响

这世界有那么个人

活在我 飞扬的青春

在泪水里浸湿过的长吻

常让我 想啊想出神

弦乐 : 彭飞

吉他 : 胡洋

曼陀林 : 彭飞

鼓 : 荒井十一

录音室 : Studio 21A

录音师 : 倪涵文

混音室 : Studio 21A

混音师 : 周天澈

母带工程师 : 周天澈