我搜索了很多,GitSCM 插件和 stackoverflow 等,但找不到答案。我想通过 Jenkins GitSCM 插件将 Git 存储库 checkout 到一个特定的文件夹中,比如“MyFolder”。
所以如果我的仓库是 xyz.git
然后在 checkout 后存储库的所有文件都应该在 MyFolder/*
中而不是在 MyFolder/xyz/*
.
要了解更多信息,我想使用 Jenkins GitSCM 插件在下面实现(假设存储库是 xyz.git)。下面的命令将 check out 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]]])
请建议。
版本信息:
最佳答案
您可以使用 [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'MyFolder/']]
在您的 checkout 代码中。
类似于以下内容:-
checkout([ $class: 'GitSCM',
branches: [[name: gitDefaultBranch]],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'CleanBeforeCheckout'],
[$class: 'SubmoduleOption',
disableSubmodules: false,
parentCredentials: true,
recursiveSubmodules: true,
reference: '',
trackingSubmodules: false],
[$class: 'RelativeTargetDirectory',
relativeTargetDir: 'MyFolder/']],
submoduleCfg: [],
userRemoteConfigs: [[credentialsId: gitCreds, url: gitProjectUrl]]
])
关于git - Jenkins GitSCM 在特定文件夹中 checkout ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55630132/