如何在Jenkins流水线脚本中从远程仓库克隆一个目录?

6

我在GitHub Enterprise上有一个大型代码仓库,需要在我的Jenkins构建服务器上克隆其中的一个子目录并编译。我正在使用管道脚本,当前的脚本如下:

node {
    stage ('checkout') {
        git url: 'git@github.devops.mycompany.local:Org/MyLargeRepo.git'
    }
}

我想要的是从github.devops.mycompany.local:Org/MyLargeRepo/path/to/subproject进行克隆。
我知道我可能需要使用稀疏检出,但是似乎无法弄清楚如何在Jenkins管道脚本中配置。有什么建议吗?
1个回答

8

看起来像是声明式流水线,而不是脚本流水线

对于后者,您可以使用此答案中看到的语法,基于Jenkins Git插件的hudson.plugins.git.extensions.impl.SparseCheckoutPaths

checkout([$class: 'GitSCM', 
    branches: [[name: '*/branchName']],
    doGenerateSubmoduleConfigurations: false,
    extensions: [
        [$class: 'SparseCheckoutPaths',  sparseCheckoutPaths:[[$class:'SparseCheckoutPath', path:'folderName/']]]
                ],
    submoduleCfg: [],
    userRemoteConfigs: [[credentialsId: 'someID',
    url: 'git@link.git']]])

Don't forget the .git/info/sparse-checkout file


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接