我搜索了很多,GitSCM插件和stackoverflow等,但找不到答案。我想通过Jenkins GitSCM插件将Git仓库 checkout 到一个特定的文件夹中,比如“MyFolder”。
因此,如果我的仓库是xyz.git
,那么在 checkout 后,仓库的所有文件都应该在MyFolder/*
中,而不是在MyFolder/xyz/*
中。
为了了解更多,我想用Jenkins GitSCM插件实现下面(假设仓库是xyz.git)。下面的命令将检出MyFolder
中的文件,不包括根文件夹xyz
git clone <REPOSITORY> -- MyFolder
下面的命令将 checkout xyz文件夹中的文件
git clone <REPOSITORY>
作为参考,我正在进行以下配置
checkout([$class: 'GitSCM', branches: [[name: gitDefaultBranch]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CleanBeforeCheckout'],[$class: 'SubmoduleOption', disableSubmodules: false, parentCredentials: true, recursiveSubmodules: true, reference: '', trackingSubmodules: false]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: gitCreds, url: gitProjectUrl]]])
请建议一下。版本信息:
- Jenkins 2.121.1核心
- 管道:声明式1.3.2
- 管道:Groovy 2.55
- Git插件3.9.1
- org.jenkins-ci.plugins:scm-api:2.3.0
- org.jenkins-ci.plugins.workflow:workflow-scm-step:2.7
1条答案
按热度按时间t9eec4r01#
您可以在结帐代码中使用
[[$class: 'RelativeTargetDirectory', relativeTargetDir: 'MyFolder/']]
。下面是这样的: