GitLab 與 Gerrit__gitlab

來源:互聯網
上載者:User
GitLab 與 Gerrit  
相信大家看到這裡,會發現gitlab比gerrit多了許多功能,比如說Issues,Wiki等。我們從幾個方面對比下2者:

###開發風格:

        gitlab的特點是一個人維繫一個分支。        gerrit的特點是一個團隊維繫一個分支。(這裡的分支對應一個業務需求)

###許可權管理:

        gitlab提供了比較多的選擇,可以根據需要建立project,每個團隊可以根據自己的需求管理自己的代碼,方式更加的靈活。        gerrit比較單一,而且許可權配置比較複雜,往往都是要聯絡管理員做出修改,每個團隊很難做到對代碼的個人化管理。

###程式碼檢閱:

        gitlab是以merge request作為一次review,merge request中可能包含多個 commit,如果review不通過也不需要發起另一次merge request。        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作為Google管理安卓項目的版本管理工具還是有其優點的,        多部門之間的許可權隔離,強制review的機制都是其優點,        反觀gitlab作為github的開源版,遵循了一套開源的流程,比較符合大多數人得習慣。        所以,通過比較,推薦使用gitlab作為版本管理工具,並且不與gerrit做整合。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.