CI 針對肥大的 Git Repository 如何有效的處理

2017-09-14 Github, Travis CI

這篇是有人詢問在跑 CI 的時候某些 Git Repository 很肥,會導致 CI 在 Clone 浪費很多的時間跟空間的處理方式。

 

Git Repository 很肥通常有兩種情況:

  1. Commit 不適合的檔案到 Repository,例如:大容量或大量圖檔、Log、多餘的備份檔 …etc
  2. Repository 年代久遠,Git 倉庫本身就很肥。

 

第一種情況,除了重新檢視你的 Repository 有沒有廢 code 或檔案,還可以參考以下方式:

  • Log 應該是由 instance 產生後再集中到 Log Server。
  • 可以被 Commit 到 GIt Repository 的圖片通常是小 size 且該網站必要呈現的檔案,例如:Logo、icon。
  • Data 類型的圖片由 Storage 統一存放。
  • Package 在 CI 的時候再 build,不存放在 Git。

 

第二種情況,參考 Travis CI 的處理方式,用 –depth 只取 history 最後 50 筆:

$ git clone --depth=50 --branch=master https://github.com/shazi7804/example

 

 

 

Ref:Copy a git repo without history

 

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱