git - git clone 没有使用 SCM 的历史记录
问题描述
我们的项目很大,我们希望避免克隆所有 git 历史记录。
是否可以在git clone
Jenkins中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 -> 高级克隆行为并标记Shallow clone并将Shallow clone depth设置为1
。
推荐阅读
- sql - 如何查询航路点作为方向对?
- excel - Excel VBA - 如何删除少于X%的行具有价值的列
- python - python selenium webscrape
- javascript - 检测页面是否在新选项卡中打开
- swift - 表达式类型“()”在没有更多 XCTAssertEqual 上下文的情况下是模棱两可的
- ios - 个别 iPhone 和 Apple Watch 型号支持哪些特定于设备的 CMPedometer 功能?
- python - 读取包含 32 位浮点数的二进制文件的特定部分
- nginx - /etc/nginx/conf.d/nginx-basic.conf:1 中不允许使用“http”指令
- node.js - node mongodb 3.4 使用带有指定字段的 find 和 toArray 不过滤结果
- github - PyCharm 与 GitHub