色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

gerrit和gitlab的區別?

夏志豪2年前21瀏覽0評論

開發風格

gitlab的特點是一個人維系一個分支。

gerrit的特點是一個團隊維系一個分支。(這里的分支對應一個業務需求)

權限管理

gitlab提供了比較多的選擇,可以根據需要創建project,每個團隊可以根據自己的需求管理自己的代碼,方式更加的靈活。

gerrit比較單一,而且權限配置比較復雜,往往都是要聯系管理員做出修改,每個團隊很難做到對代碼的個性化管理。

代碼評審

gitlab是以mergerequest作為一次review,mergerequest中可能包含多個commit,如果review不通過也不需要發起另一次mergerequest。

gerrit是以commit作為一次review,由于changeId的存在,可以對一次commit反復的進行review。

如果task劃分的粒度夠細的話,并不會影響各個團隊的review習慣。

團隊協作

gitlab可以選擇公開代碼,團隊間可以看到互相的代碼,有利于團隊的協作。

gerrit由于權限控制問題,只能在權限范圍內公開代碼。

信息共享

gitlab可以提供issues,wiki等功能方便開發者與使用者之間的溝通,并且gitlab可以無縫的與一些項目管理工具集成,比如:jira。

gerrit這個方面比較欠缺。

gitlab每個項目都有自己的wiki,很方便查看。

有關gitlab+gerrit+jenkins集成

現在比較流行的CI系統,gitlab提供代碼查看功能,gerrit保存真正得代碼,jenkins通過plugin發布gerrit上的代碼。

這樣做沒有體現出gitlab的特點,而且由于gerrit的權限問題,很多代碼無法放在gitlab上,gitlab淪為代碼查看工具,很多功能形同虛設。

有關docker:

考慮到公司將使用docker技術,對于dockerfile存放等問題,gitlab比gerrit支持的更好(因為權限,文件查看的問題)。

有關CI:

jenkins提供了plugin,可以通過從gitlab上拉取代碼直接部署(已測試成功,CA采用sshkey)。

總結

gerrit作為谷歌管理安卓項目的版本管理工具還是有其優點的,

多部門之間的權限隔離,強制review的機制都是其優點,

反觀gitlab作為github的開源版,遵循了一套開源的流程,比較符合大多數人得習慣。

所以,通過比較,推薦使用gitlab作為版本管理工具,并且不與gerrit做集成。