繁体   English   中英

Gitlab CI 和 Git 部分克隆

[英]Gitlab CI and Git partial clone

我正在大型 monorepo 上测试 git 部分克隆功能。 开发人员可能会在他的机器上运行以下命令:

git clone --filter=blob:none --sparse THE_MONOREPO_URL.git
git sparse-checkout init --cone 
git sparse-checkout set SOME FOLDERS

这似乎运作良好,我现在正试图在 Gitlab 中启动并运行 CI。 如果我在.gitlab-ci.yml文件中使用默认设置,Gitlab 会克隆整个 monorepo,这需要很长时间。

Gitlab 最近添加了对部分克隆的实验性支持,但是 Gitlab-CI 中是否有任何支持? 我唯一的选择是使用GIT_STRATEGY: none然后使用上面的命令在before_script中手动克隆所有内容吗?

您可以配置 GitLab CI 以进行浅克隆。 Go 到你的项目页面 - 设置 - CI/CD,展开通用管道,并在 Git 浅克隆字段中插入一个值。

请注意, clone --sparse已经为您运行了sparse-checkout init

您可以将 git 策略设置为 FETCH,然后使用https://docs.gitlab.com/ee/ci/yaml/README.html#yougit-fetch yourflag project

请注意,Fetch 和 Clone 策略都使用此标志。 2 策略之间的唯一不同是,Clone 会在运行“git fetch”之前尝试删除前一次运行中缓存的 repo 中的任何内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM