mar*_*rco 6 git jenkins-pipeline
我们的项目非常庞大,我们希望避免克隆所有 git 历史记录。
是否可以在詹金斯中git clone传递depth=1使用checkout scm?
如果可能的话,我找不到任何有关如何配置SCM或如何传递参数的文档。
补充:
找到文档
https://jenkins.io/doc/pipeline/steps/workflow-scm-step/#code-checkout-code-general-scm
类型:int
深度(可选)
设置浅克隆深度,以便 git 只会下载项目的最近历史记录,当您只想访问存储库的最新版本时,可以节省时间和磁盘空间。
但不清楚如何将其传递给checkout scm
如果您使用脚本化管道,那么您可以自定义checkout scm使其看起来或多或少像这样:
node {
checkout([
$class: 'GitSCM',
branches: scm.branches,
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
extensions: scm.extensions,
userRemoteConfigs: scm.userRemoteConfigs,
depth: 1
])
}
Run Code Online (Sandbox Code Playgroud)
如果您使用声明式管道,则需要转到管道作业配置,并在“行为”部分中添加“Git”->“高级克隆行为”并标记“浅层克隆”并将“浅层克隆深度”设置为1。