【问题标题】:Creating Jenkins pipeline using a multi-project gradle build使用多项目 gradle 构建创建 Jenkins 管道
【发布时间】:2019-03-26 23:51:41
【问题描述】:

我有一个在本地工作的多项目 Gradle 构建。 有一个父 gradle 文件 build.gradle settings.gradle 文件将项目分配给它们各自的 gradle 构建文件:

include 'load'
include 'loadRemote' 

project(':loadRemote').buildFileName = 'remoteLoad_build.gradle'
project(':load').buildFileName = 'load_build.gradle' 

rootProject.name = 'EquipLoad'

build.gradle 父文件调用buildAll 命令在本地从命令行构建 2 个项目。 我创建了一个 Jenkins 文件来构建这两个项目。但 Jenkins 流水线不识别具体的项目任务。 这些是buildAll 命令的任务 gradle.projectsEvaluated {

    task compileAll (dependsOn: [project(':loadRemote').remoteLoadCleanCompileStage]) {
         compileAll.finalizedBy project(':load').loadCleanCompileStage
    }

    task packageAll (dependsOn: [project(':loadRemote').remoteLoadPackage]) {
        packageAll.finalizedBy project(':load').loadPackage
    }

    task buildAll (dependsOn: [compileAll]) {
        buildAll.finalizedBy packageAll
    }
}

Jenkins的错误是无法识别任务project(':loadRemote').remoteLoadCleanCompileStage

如何在 Jenkins 中识别多构建项目? 是否必须添加 settings.gradle 文件?

更新 我以为项目中找不到不同的构建文件,所以我将其添加到 settings.gradle 文件中

rootProject.name = 'EquipLoad'

include 'load'
project(':load').projectDir = new File(settingsDir, rootProject.rootDir.getAbsolutePath() + "/Load")
project(':load').buildFileName = 'load_build.gradle'

include 'loadRemote' 
project(':loadRemote').projectDir = new File(settingsDir, rootProject.rootDir.getAbsolutePath() + "/LoadRemote")
project(':loadRemote').buildFileName = 'remoteLoad_build.gradle'

报错还是一样,build.gradle文件(父级)不识别依赖任务project(':loadRemote').remoteLoadCleanCompileStage 查看调试语句,找到并识别了子构建 gradle 文件: 使用构建文件“/var/.../loadRemote/remoteLoad_build.gradle”评估项目“:loadRemote”。 加载构建文件显示相同的文本。 然而,这些 gradle 构建文件中的任务在父 build.gradle 文件中无法识别。

【问题讨论】:

  • 我知道这是几个月前的事了……但是你能发布你的詹金斯管道文件吗?我想看看你是如何配置管道的 scm 部分的。

标签: jenkins gradle


【解决方案1】:

问题是一个简单的区分大小写的错误。 我将文件夹命名为:Load 和 LoadRemote。但在 gradle 脚本中将它们标识为 ':load' 和 ':loadRemote'。通过将脚本文本更改为 ':Load' 和 ':LoadRemote' 解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 2020-10-16
    • 2018-03-18
    • 2012-06-24
    • 2011-10-30
    • 1970-01-01
    • 2015-04-26
    相关资源
    最近更新 更多