Jenkinsfile管道中的SparseCheckout

HAr*_*HAr 6 groovy jenkins jenkins-pipeline

在jenkins文件中,我通过SparseCheckoutPaths指定了folderName,我想要签出.但我得到一个完整的分支结账.

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

HAr*_*HAr 11

这是我自己的问题的答案.对于一些背景如何工作,有一个名为sparsecheckout的 git客户端的标志/配置,它负责这种结账.此外,还需要一个名为file 的稀疏结账文件.欲了解更多信息看这里.

我的问题是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']]])
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅github-link