我正在测试jenkins job-dsl插件。我有一个现有的项目,在构建开始之前设置'删除工作区'已启用。
我定义了以下DSL:
job("$basePath/my-project") {
scm {
git {
remote {
name('origin')
url('git@bitbucket.org:my-organisation/my-project.git')
}
branch('*/develop')
extensions {
wipeOutWorkspace()
submoduleOptions {
recursive()
}
}
}
}
}
这似乎给出了一个不完全相同的配置,它显示了一个"擦除存储库&强迫克隆"选项。这些选项最终是否真的相同或者有不同的行为?
答案 0 :(得分:9)
两种选择之间通常没有区别。
它们由不同的插件提供:
Workspace Clean Plugin和Git插件之间的主要区别:
答案 1 :(得分:1)
Git插件的“擦除存储库和强制克隆”选项的一个重要行为是,如果您在“签出到子目录”选项中选择了一个存储库子目录,它将仅删除存储库子目录。它将独自留下您工作区的其余部分。据我所知,这不会出现在文档中。
通过在“要删除的文件的模式”高级配置部分中指定克隆子目录,您可以使用Workspace Cleanup插件实现类似的行为。
最终结果完全相同,但在我的观察中,Git插件删除速度比Workspace Cleanup插件快5秒。