【发布时间】:2019-07-03 12:30:21
【问题描述】:
我们的项目很大,我们希望避免克隆所有 git 历史记录。
是否可以在 Jenkins 中使用 checkout scm git clone 传递 depth=1?
如果可能的话,我找不到任何关于如何配置 SCM 或如何传递参数的文档。
已添加:
找到文档
https://jenkins.io/doc/pipeline/steps/workflow-scm-step/#code-checkout-code-general-scm
类型:int
深度(可选)
设置浅克隆深度,这样 git 只会下载最近的历史记录 项目,当您只想访问最新版本时节省时间和磁盘空间 版本库。
但不清楚如何将其传递给checkout scm
【问题讨论】:
-
JFYI:如果 Jenkins 在节点上有免费的执行程序,它会尝试重新使用它,而不是在随机节点上运行构建。因此,如果您克隆一次 repo,很可能会在下一次重新使用它。随着时间的推移,您的所有节点(除非您清理它们)都将拥有您的 Git 存储库,并且不会有很多完整的克隆。
-
好的,但是对于
branch=develop,我们会在克隆之前删除整个构建目录。 -
我不知道你为什么要这样做。 Jenkins清除了需要清除的内容,无需重新克隆存储库。如果您不信任 Jenkins - 您可以自行运行
git reset --hard和git clean。这将比浅层克隆快得多。 -
是的,我的失败,构建目录与结帐目录无关
标签: git jenkins-pipeline