Jenkins GitSCM特定文件夹中的结帐

问题描述 投票:1回答:1

我搜索了很多,GitSCM插件和stackoverflow等但找不到答案。我想通过Jenkins GitSCM插件将Git存储库签入一个特定的文件夹,说'MyFolder'。

因此,如果我的存储库是xyz.git,那么在结账后,所有存储库文件都应该在MyFolder/*而不是在MyFolder/xyz/*中。

要了解更多,我想使用Jenkins GitSCM插件实现以下(假设存储库是xyz.git)。下面的命令将检出MyFolder中的文件,不包括根文件夹xyz

git clone <REPOSITORY> -- MyFolder

以下命令将检出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]]])

请建议。版本信息:

  • 詹金斯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:工作流-SCM-步骤:2.7
git jenkins plugins version-control checkout
1个回答
1
投票

您可以在结帐代码中使用[[$class: 'RelativeTargetDirectory', relativeTargetDir: 'MyFolder/']]

如下所示: -

 checkout([   $class: 'GitSCM',
         branches: [[name: gitDefaultBranch]],
         doGenerateSubmoduleConfigurations: false,
         extensions: [[$class: 'CleanBeforeCheckout'],
                    [$class: 'SubmoduleOption',
                     disableSubmodules: false,
                     parentCredentials: true,
                     recursiveSubmodules: true,
                     reference: '',
                     trackingSubmodules: false]],
         submoduleCfg: [],
         [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'MyFolder/']],
         userRemoteConfigs: [[credentialsId: gitCreds, url: gitProjectUrl]]
       ])
© www.soinside.com 2019 - 2024. All rights reserved.