gitlab(同名的git的代碼管理和持續內建工具的制造者)與雲平台提供商digitalocean已合作,将向開源社群提供免費托管,以便其将持續內建工作轉移到雲端。
gitlab針對持續內建的解決方案基于兩個元件:一是gitlab ci,它是管理項目/建構的一種服務,而且也是gitlab.com的一部分;還有一個是gitlab runner,其負責真正地去執行建構,運作測試和通過api通路gitlab ci。 gitlab ci為持續內建提供了必要的功能例如并行建構,實時日志,版本測試等等。

gitlab runner,由go語言編寫,其提供了自動擴充的功能,這意味着當需要確定建構處理速度盡量快的情況下自動的擴充或者縮減虛拟機。據gitlab稱,gitlab runner自動擴充功能讓并行建構變得很簡單,而且它特别适合在digitalocean上運作(這要歸功于digitalocean快速的啟動時間,能在一分鐘以内啟動一個新的運作執行個體。)。
infoq已經聯系了gitlab的ceo sid sijbrandij,來了解這個聲明對社群開發者們的意義。
您可以形容一下gitlab和digitalocean的內建是什麼情形麼?有什麼新的内容?
digitalocean已經為快速安裝gitlab提供droplet模闆(預建構鏡像)很多年了。gitlab runner
autoscale會讓那些擁有gitlab伺服器的開發者輸入digitalocean證書,然後使用者可以自動地啟動或者停止新的
droplet來確定他們的持續內建測試快速安全并低成本地運作。
在什麼情況下,在digitalocean上通過gitlab部署持續內建能夠給開發流程帶來最大的收益?
使用digital ocean和gitlab來進行自動擴充持續內建有相當多的益處。下面是一些例子:
當你需要測試很多項目時,能夠在多個項目上進行持續內建和測試的能力。
對需要長時間運作或者運作緩慢的測試集,能夠并行地運作測試的能力。
提供使用無界面浏覽器模拟ui體驗導緻測試緩慢的解決方案。
提供防止由于共享持續內建的機器造成項目互相影響和資訊洩露的解決方案。
由于時區的不同和每三周一次的scrum沖刺,會導緻成天累月運轉的機器産生不可預測的使用,digital ocean和gitlab提供了解決方案。
能夠在每次修改被提出時就進行測試的能力,而不是要等到修改被允許後才能進行測試。
解決了大公司中需要昂貴的基礎設施以及需要花很長時間的配置新伺服器。
對于gitlab.com的項目來說,可以擷取digital ocean的免費runner意味着什麼?
開發者一方面可以工作在自己私有的項目上,另一方面卻可以使用強大的持續內建工具,而這些都不需要開發者進行多次購買。在以前,使用一個持續內建工具是很昂貴的,如果開發者需要使用10個并行的runner,他們需要每個月支付550美金。而現在通過和digitalocean合作,持續內建對開發者免費了。
gitlab對安裝和配置digitalocean的runner提供了詳細的說明。
====================================分割線================================