我在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管道脚本中配置它。有什么想法吗?
答案 0 :(得分:6)
看起来像declarative pipeline,而不是scripted pipeline
使用后者,你可以use the syntax seen in this answer,基于The Jenkins Git Plugin中的hudson.plugins.git.extensions.impl.SparseCheckoutPaths
class:
checkout([$class: 'GitSCM',
branches: [[name: '*/branchName']],
doGenerateSubmoduleConfigurations: false,
extensions: [
[$class: 'SparseCheckoutPaths', sparseCheckoutPaths:[[$class:'SparseCheckoutPath', path:'folderName/']]]
],
submoduleCfg: [],
userRemoteConfigs: [[credentialsId: 'someID',
url: 'git@link.git']]])