Gitlab and Gerrit
I believe you see here, will find gitlab than Gerrit many functions, such as Issues,wiki.
we compare 2 of them in several ways:
# # #开发风格:
Gitlab is characterized by a person maintaining a branch.
Gerrit is characterized by a team that maintains a branch. (The branch here corresponds to a business requirement)
# # #权限管理:
Gitlab offers a number of options to create project as needed, and each team can manage its own code based on its own needs, in a more flexible way.
Gerrit is relatively single, and the authority configuration is more complex, often is to contact the administrator to make changes, each team is very difficult to do the personalized code management.
# # #代码评审:
Gitlab is in the merge request as a Review,merge request may contain multiple commits, and if review does not, you do not need to initiate another merge request.
Gerrit is a commit as a review, due to the existence of Changeid can be a commit repeatedly review.
if the task partition is fine-grained enough, it will not affect the review habits of each team.
# # #团队协作:
Gitlab can choose to expose the code, the team can see each other's code, conducive to team collaboration.
Gerrit due to permission control issues, code can only be exposed within the scope of the permission.
# # #信息共享:
Gitlab can provide issues,wiki and other functions to facilitate communication between developers and users, and Gitlab can seamlessly integrate with a number of project management tools, such as: Jira.
Gerrit This aspect is relatively deficient.
Gitlab Each project has its own wiki, which is easy to view.
# # #有关gitlab +gerrit+jenkins Integration:
Now the more popular CI system, Gitlab provides code to view the function, Gerrit save the real code, Jenkins through the plugin release Gerrit code.
this does not reflect the characteristics of the Gitlab, and due to Gerrit permissions, a lot of code can not be placed on the Gitlab, Gitlab reduced to the code to view tools, many functions in the form of a dummy.
about Docker:
Considering that the company will use Docker technology, Gitlab is better than Gerrit support (because of permissions, file viewing issues) for dockerfile storage issues.
# # #有关CI:
The Jenkins provides plugin, which can be deployed directly from the Gitlab pull off code (tested successfully, CA using Sshkey).
# # #总结
Gerrit as Google management Android Project version management tools or has its advantages,
multisectoral authority isolation, mandatory review mechanism is its advantages,
Gitlab as the GitHub open source version, followed a set of open source process, More in line with the habits of most people.
So, by comparison, it is recommended that you use Gitlab as a version management tool and not integrate with Gerrit.