使用SCM进行无历史记录的git克隆

使用SCM进行无历史记录的git克隆,git,jenkins-pipeline,Git,Jenkins Pipeline,我们的项目非常庞大,我们希望避免克隆所有git历史 是否可以在Jenkins中使用签出scm传递depth=1 如果可能的话,我找不到任何关于如何配置SCM或如何传递参数的文档 新增: 找到文件了吗 类型:int 深度(可选) 设置浅克隆深度,这样git将只下载 项目,当您只想访问最新的 存储库的版本 但不清楚如何将其传递给签出scm如果使用脚本化管道,则可以自定义签出scm,使其看起来或多或少像这样: 节点{ 结帐([ $class:'GitSCM', 分支:scm.branchs, DoG

我们的项目非常庞大,我们希望避免克隆所有git历史

是否可以在Jenkins中使用
签出scm
传递
depth=1

如果可能的话,我找不到任何关于如何配置
SCM
或如何传递参数的文档

新增:
找到文件了吗

类型:int
深度(可选)
设置浅克隆深度,这样git将只下载 项目,当您只想访问最新的 存储库的版本


但不清楚如何将其传递给
签出scm

如果使用脚本化管道,则可以自定义
签出scm
,使其看起来或多或少像这样:

节点{
结帐([
$class:'GitSCM',
分支:scm.branchs,
DoGenerateSubModuleConfiguration:scm.DoGenerateSubModuleConfiguration,
扩展:scm.extensions,
userRemoteConfigs:scm.userRemoteConfigs,
深度:1
])
}
如果使用声明性管道,则需要转到管道作业配置,并在行为部分添加Git->高级克隆行为,标记浅克隆,并将浅克隆深度设置为
1


JFYI:如果Jenkins在节点上有空闲的执行器,它会尝试重新使用它,而不是在随机节点上运行构建。因此,如果您克隆一次回购协议,它很可能会在下次重新使用。随着时间的推移,你所有的节点(除非你清理它们)都会有你的Git repo,并且不会有很多完整的克隆。好吧,但是如果是
branch=develope
,我们会在克隆之前删除整个构建目录。我不知道你为什么要这样做。Jenkins会清除需要清除的内容,无需重新克隆存储库。如果你不信任Jenkins,你可以自己运行
git reset--hard
git clean
。这将比浅层克隆快得多。是的,我失败了,builddir与checkout dir无关