我正在嘗試構建一個持續集成系統。每次推送到GitHub都會觸發構建。如何有效地獲取特定提交的GitHub存儲庫?
每個版本都需要檢出/下載其正在處理的提交的存儲庫。我試圖找到一種方法來做到這一點,不需要花費幾分鐘時間處理大型存儲庫(因爲構建只需要幾秒鐘......)。
請注意,我不想在構建之間存儲數據(這會消除緩存的可能性)。
的解決方案,我已經瞭解:
git clone
隨後提交的結賬:作品,但只需要幾分鐘的大型資料庫- git 2.5 supposedly introduced a way to fetch a single commit但我不能讓它使用GitHub的工作,我的猜測是他們不使用Git 2.5(編輯:doesn't work with GitHub indeed)
- 使用GitHub API for git data但我想不通,如果我能以某種方式下載的所有文件的修訂版本,並做有效(即避免單一HTTP熱曲每個文件EST)(編輯:看來GitHub上允許下載文件爲「樹」 - 不知道這意味着什麼 - 但對於大型的倉庫HTTP responses are truncated and they encourage to simply use git ...回到原點)
每隔解決方案,我看到GitHub假定服務器上有最新的git版本,或者克隆版本庫一次就可以了,但在我的情況下卻不是。我從頭開始每一個構建(因爲這是一個約束)。
所以我在問GitHub的具體情況:我該如何下載(以任何方式)在特定提交的代碼才能在該提交上運行持續集成工具?
@JoshLee謝謝!至少我知道爲什麼它不能在GitHub上工作,我不知道我是否做錯了什麼:) –