LDAP + Gerrit搭建code review系统(一) --- 简介
来源:互联网 发布:拳皇98键盘优化版 编辑:程序博客网 时间:2024/04/28 17:00
Gerrit是针对git的一款基于web的code review工具。最早在google的android项目上提出,现在已应用于绝大多数开源开发系统,它的特点是提交前review,也就是说只有经过review的可靠代码才会被自动merge到正式的代码库中。
在下面的两幅图中,左边的图演示通常情况下git用户的使用流程:不管是开发人员还是CI机器,都是以用户的身份从git server上fetch最新代码或者向git server push本地的最新更新。右边的图演示使用了Gerrit的工作流程:Gerrit中控制着两部分数据,一部分是Authoritative Repository,代表正式的代码库,另一部分Pending Changes代表所有用户提交上来但是还未经review通过的代码。这时有了一个新的角色reviewer,通常是某个developer,也可以是架构师或专家,他从gerrit上fetch这些change,并进行review,一旦review通过,这些change就会自动submit到正式的代码库中。相对于左图而言,git用户从gerrit上获取代码时取的是可靠的,经过review的正式版本库,但是向server上推送本地的更新时,必须要在change list上排队等待review。
做为一个code review工具,在gerrit上进行的所有操作的基础就是身份辨识,也就是说gerrit可以确认当前的登录用户是张三而不是李四,这样才能知道该用户属于哪个项目组,能不能review别人的代码等等。可是,gerrit自己没有这样的认证模块,必须要依赖于第三方的认证结果。目前gerrit可接受的认证源有六种:openid, http, http_ldap, ldap, ldap_bind, 和development_become_any_account。下面逐一介绍这些认证源:
- Openid:指的是公共账号,比如你在Google或者Yahoo上建立的账号。用户通过OpenID认证源的认证后,gerrit会自动从认证源获取相关属性如用户全名和邮件地址等信息创建账号。当然,任何人都可以为自己创建一个Google或者Yahoo账号,因此OpenID模式支持用户自建账号,适用于开源项目,不适用与相对封闭的公司使用。
- http:Gerrit可以配置成运行在一个第三方的web server后面,比如最常用的apache。用户登录apache时输入用户名和密码,一旦验证成功,系统重定向到gerrit进行后面的操作。
- http_ldap: 从第三方web server里登录,但是用户名和密码的验证是通过LDAP Server。这和下面的ldap认证有什么区别呢?为什么会有人多此一举要从web server登录,直接在gerrit里做ldap认证不是更方便?这是因为有些系统会需要这样的架构。比如说SSO(Single Sign-On),也就是用户只需要登录验证身份一次就可以访问多个应用程序(包括gerrit),在apache里可以做SSO,但是gerrit不提供这个功能。
- ldap: 通过LDAP server进行身份认证,后面会做详细介绍。
- ldap_bind: 类似ldap,不同的是登录的用户名必须使用完整的ldap账户名称,而在ldap方式中,会先以匿名或者config文件里[ldap.username]的身份查找匹配的用户,并进一步获取完整的用户名信息。
- development_become_any_account: 故名思意,就是不需要身份认证,每个登录者都是匿名登录,用在gerrit的开发或者演示的时候。
dn: cn=John Doe,dc=example,dc=comcn: John DoegivenName: Johnsn: DoetelephoneNumber: +1 888 555 6789telephoneNumber: +1 888 555 1232mail: john@example.commanager: cn=Barbara Doe,dc=example,dc=comobjectClass: inetOrgPersonobjectClass: organizationalPersonobjectClass: personobjectClass: top“dn”是这条directory entry的辨识名(distinguished name)。“cn=John Doe”是RDN(Relative DN),“dc=example, dc=com”是parent entry的DN,“dc”代表Domain Component。其它行显示的是本条entry的属性(attribute)值。
- LDAP + Gerrit搭建code review系统(一) --- 简介
- LDAP + Gerrit搭建code review系统(三) --- Gerrit
- LDAP + Gerrit搭建code review系统(二) --- LDAP
- LDAP + Gerrit搭建code review系统(四) --- backup备份
- 如何搭建gerrit服务器进行code review
- 代码Review系统Gerrit的搭建
- Gerrit - Code Review System
- gerrit code review
- Gerrit code review - Tutorial
- 如何搭建开源code review gerrit服务器
- 如何搭建开源code review gerrit服务器
- 如何搭建开源code review gerrit服务器
- Gerrit服务器的搭建(Git+Gerrit+PostgreSQL+LDAP)
- code review (一)
- Code Review(一)
- Code Review(一)
- 使用gerrit进行code review
- 使用gerrit进行code review
- 如何在Windows下编译OpenSSL?
- 诺基亚 Android 手机界面曝光:类似 WP8
- 设计模式-创建型:单例模式(2)
- C# BackgroundWorker的使用
- doctype声明、浏览器的标准、怪异等模式
- LDAP + Gerrit搭建code review系统(一) --- 简介
- Java获取文件的类型
- 黑马程序员_Java面向对象2
- 如何彻底关闭Win8应用
- 操作系统的内存分配机制(分层的逐层外包分配模式)
- 少壮不努力,老大抢小米
- 卡巴斯基2014激活码授权文件KEY
- Oracle10g下手工重建CRS和RAC数据库
- 机房安全监控设备连接图及指令发送