我们的项目非常庞大,我们希望避免克隆所有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克隆行为,并标记Shallow clone并将Shallow clone depth设置为1
。