一尘不染

Jenkinsfile管道中的SparseCheckout

jenkins

在jenkinsfile,我已经通过指定的文件夹名 SparseCheckoutPaths 我想结帐。但是我却得到了整个分支结帐。

   checkout([$class: 'GitSCM', 
       branches: [[name: '*/branchName']],
       extensions: [[$class: 'SparseCheckoutPaths', path: 'FolderName']],
       userRemoteConfigs: [[credentialsId: 'someID',
       url: 'git@link.git']]])

阅读 653

收藏
2020-07-25

共1个答案

一尘不染

这是我自己的问题的答案。关于它如何工作的一些背景知识,有一个名为 sparsecheckout的
git客户端标志/配置,负责这种签出。此外,还需要一个 稀疏签出的
命名文件。

我的问题是 Jenkinsfile 的语法,正确的语法如下:

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

有关更多信息,请访问github链接

2020-07-25