簡體   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