我搜索了很多,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]]])
请提出建议。 版本信息:
答案 0 :(得分: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]]
])