Gerrit
一個(gè)基本的Git服務(wù)器已經(jīng)足以勝任許多用途了。
盡管如此,有些時(shí)候你需要精確地控制工作流。
一個(gè)實(shí)際的例子是把變更合并到關(guān)鍵的基礎(chǔ)設(shè)施配置代碼里。雖然我認(rèn)為DevOps不應(yīng)該對(duì)基礎(chǔ)設(shè)施代碼有不必要的規(guī)程,但是不可否認(rèn)確實(shí)在某些時(shí)候它還是有用的。否則,開(kāi)發(fā)者可能會(huì)對(duì)提交基礎(chǔ)設(shè)施的變更感到緊張,并希望更有經(jīng)驗(yàn)的人能一起審查代碼。
Gerrit是基于Git的代碼審查工具,它可以提供一個(gè)這種狀況下的解決方案。筒而言之,Gerrit可以讓你創(chuàng)建規(guī)則來(lái)允許開(kāi)發(fā)者審查和批準(zhǔn)其他開(kāi)發(fā)者對(duì)代碼庫(kù)的變更。由資深的開(kāi)發(fā)者審查經(jīng)驗(yàn)不足的開(kāi)發(fā)者的變更,通常來(lái)說(shuō)多雙眼睛關(guān)注代碼會(huì)帶來(lái)更好的質(zhì)量。
Gerrit基于ava并在后臺(tái)使用了基于Java的Git實(shí)現(xiàn)。
Gerrit可以作為Java的WAR文件來(lái)下載,并且提供了一個(gè)集成創(chuàng)建方法。它需要依賴一個(gè)關(guān)系型數(shù)據(jù)庫(kù),但是選擇一個(gè)基于Java的H2嵌入式數(shù)據(jù)庫(kù)就足以評(píng)估Gerrit了。
更簡(jiǎn)單的方法是使用Dockei.來(lái)嘗試Gerrito在Docker hub上有數(shù)個(gè)Gerrit鏡像可供選擇。我們?yōu)檫@次評(píng)估的練習(xí)選擇了下面這個(gè): https://hub.docker.com/r/openfrontier/gerrit/