运行 与 jenkins 并行的两种不同的声纳配置。不确定如何使用两个声纳配置创建 build.gradle 文件?

Run two different sonar configurations in parallel with jenkins. Not sure how to create build.gradle file with two sonar configurations?

我正在处理一个包含多个模块的项目,比方说:bigModule、smallModuleA、smallModuleB 和 smallModuleC。我有一个 build.gradle 文件,其中包含声纳配置,当我想扫描所有小模块或大模块时,我会更改该配置。我有一个带有声纳扫描阶段的詹金斯管道。我的目标是 运行 在 jenkins 上并行进行两个具有不同配置的声纳扫描。现在我知道如何在 jenkins 上并行执行两个步骤或阶段 运行。我主要关心的是我如何在 build.gradle 文件上有两个声纳配置,这些配置在 jenkinsfile.运行 的每个声纳阶段中被引用。

一种方法是参数化构建:

if (hasProperty("do.scan.one")){
    sonarqube {
        properties {
            // do set up one
        }
    }
} else {
    sonarqube {
        properties {
            // do other set up
        }
    }
}

然后您需要在 non-default 配置中传递一个额外的命令,如参数:

./gradlew sonarqube -Pdo.scan.one

如果使用环境变量更方便,那也是可以的。只需将 属性 检查更改为 System.getenv() 检查即可。