You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins中构建Git仓库内的指定子文件夹Java项目?

解决Jenkins构建Git仓库中子项目的问题

我来给你几个实用的方案,不用折腾修改整个工作区,就能轻松构建仓库里的单个子项目:

方案1:用Gradle的项目路径参数(Freestyle项目适用)

如果你用的是Jenkins的Gradle插件来构建,直接在Gradle任务的配置里做调整就行:

  • 在Tasks输入框里,不要只写build,而是加上-p参数指定子项目的文件夹路径,比如:
    build -p ./your-sub-project-dir
    
    这样Gradle会自动去指定的子文件夹里找build.gradle并执行构建。
  • 或者,你可以在Gradle插件的Build file选项里,直接填写子项目的构建脚本路径,比如./your-sub-project-dir/build.gradle,Jenkins会用这个文件作为构建入口。

方案2:通过Shell/Batch步骤切换目录(Freestyle项目适用)

如果不想依赖Gradle插件的特殊配置,直接用通用的Shell(Linux/macOS)或Batch(Windows)步骤:

  • 对于Linux/macOS,添加一个Execute shell步骤,内容如下:
    # 切换到子项目目录
    cd ./your-sub-project-dir
    # 执行构建命令(如果是Gradle wrapper就用./gradlew,否则用gradle)
    ./gradlew build
    
  • 对于Windows,添加Execute Windows batch command步骤:
    cd your-sub-project-dir
    gradlew.bat build
    

方案3:用Jenkins Pipeline灵活控制(Pipeline项目适用)

如果是用Pipeline来构建,用dir指令就能轻松切换到子目录执行构建,代码示例如下:

pipeline {
    agent any
    stages {
        stage('拉取代码') {
            steps {
                git url: '你的Git仓库地址', branch: 'main'
            }
        }
        stage('构建子项目') {
            steps {
                // 切换到子项目目录
                dir('./your-sub-project-dir') {
                    sh './gradlew build'
                    // 如果是Windows环境,换成 bat 'gradlew.bat build'
                }
            }
        }
    }
}

小提醒

不建议修改Jenkins的全局工作区路径,因为Git需要拉取整个仓库的内容到工作区,强行改工作区可能导致代码拉取异常。上面的几种方案都是基于完整拉取仓库后,只针对子项目进行构建,既简单又安全。

内容的提问来源于stack exchange,提问作者Softengilker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:07:01