git无历史记录使用SCM

马可

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

Jenkins是否可以git clone通过depth=1使用checkout scm

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

补充:
找到文档

https://jenkins.io/doc/pipeline/steps/workflow-scm-step/#code-checkout-code-general-scm

类型:int
depth(可选)
设置浅克隆深度,以便git仅下载项目的最新历史记录,从而在您只想访问存储库的最新版本时节省时间和磁盘空间。

但尚不清楚如何将其传递给 checkout scm

希蒙·斯蒂芬尼克

如果您使用脚本化管道,则可以自定义checkout scm使其大致如下所示:

node {
    checkout([
        $class: 'GitSCM',
        branches: scm.branches,
        doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
        extensions: scm.extensions,
        userRemoteConfigs: scm.userRemoteConfigs,
        depth: 1
    ])
}

如果使用声明性管道,则需要转到管道作业配置,并且在“行为”部分中,需要添加Git-> Advanced clone behaviors并标记Shallow clone并将Shallow clone depth设置1

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章