在 k8s 中的 jenkins 集成 sonarqube 实现

2021-09-30  本文已影响0人  惜鸟

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

概述

关于在 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】

image

2. 配置 sonarqube server

【系统管理】-> 【系统配置】-> 【SonarQube servers】

点击 Add SonarQube 需要配置一些几个参数:

image

选择我的账号,如下图所示:


image

生成令牌,如下图所示:


image

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


image

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/

上一篇 下一篇

猜你喜欢

热点阅读