OpenID 是一个以用户为中心的数字身份识别框架,它具有开放、分散、自由等特性。
什么是gerrit?
看 了网上的介绍,感觉所谓的gerrit就是一个基于web实现代码管理的服务器。Gerrit 为 Git引入的代码审核是强制性的,就是说除非特别的授权设置,向 Git 版本库的推送(Push)必须要经过 Gerrit服务器,修订必须>经过代码审核的一套工作流程之后,才可能经批准并纳入正式代码库中…
首先贡献者的代码通过 git 命令(或 repo 封装)推送到 Gerrit 管理下的 Git版本库,推送的提交转化为一个一个的代码审核任务,审核任务可以通过 refs/changes/ 下的引用访问到。代码审核者可以通过Web 界面查看审核任务、代码变更,通过 Web 界面做出通过代码审核或者打回等决定。测试者也可以通过 refs/changes/引用获取(fetch)修订对其进行测试,如果测试通过就可以将该评审任务设置为校验通>过(verified)。最后 经过了审核和校验的修订可以通过Gerrit 界面中提交动作合并到版本库对应的分支中。
gerrit设置步骤:
1.首先需要注册一个openid,这个是登录网站http://id.vanzo.com/communityid/,在里面点击注册。这时候用的邮箱是自己公司申请的那个zhangshuli@vanzo.cn
2.这注册好以后,直接在邮箱里进行激活,这时候可以生成一个序列http://id.vanzo.com/communityid/identity/zhangshuli
3. 通过网站https://review.vanzo.com:8443/访问gerrit进行注册,这时候一定要注意,里面的用户名全部是英文,不可以输 入中文的。另外,里面的邮箱全部是跟自己申请openid时候的邮箱完全一样的。>里面要更改的用户名主要有 contactinformation->full name、profile里面的profile->username
4.这时候需要回到终端控制台,在自己的用户目录下,建立.ssh文件,并在文件中执行ssh-keygen -t rsa -Czhangshuli@vanzotec.cn,一路回车
5.第四步完成以后,会在.ssh文件夹下面,自动生成config文件
6.在config文件中,添加Host vanzo
Hostname review.vanzo.com
Port 29418
User zhangshuli
PubkeyAuthentication yes
IdentitiesOnly yes
PasswordAuthentication no
IdentityFile ~/.ssh/id_rsa
7.将.ssh 文件夹下面的id_rsa.pub 中的内容添加到你申请的gerrit-add ssh publickey选项中即可
8. 这时候就可以测试gerrit是否注册成功,用ssh vanzo,如果提示permissiondenied(publickey,password),则需要在你自己用户文件夹下,设置环境变量,也就是把 exportSSH_AUTH_SOCK=0添加到.bashrc中。
主要遇到的问题:
1.直接链接不上http://id.vanzo.com/communityid/
徐磊帮我看后发现问题,原来是自己粗心,没有看到gerrit指南准备工作第一步,也就是没有在hosts中添加那些192.168.1.61 id.vanzo.com
192.168.1.61 review.vanzo.com
192.168.1.61 www.vanzo.com
这点一定要重视,编写代码本来就是需要耐心跟细心,干什么首先在态度上要认真
2.一切设置好以后,测试提醒permission denied(publickey,password)
一 切设置准备好以后,测试是否设置成功的时候,一直提示permissiondenied(publickey,password),自己刚开始以为是环境 变量设置不正确,或者自以为环境变量设置以后还需要命令刷新才能够成功。怎么试都不>成功。后来建华帮我看过后发现了问题,原来是我在设置 gerrit的时候,里面的用户名全是用的中文的。
3.将.ssh 文件夹下面的id_rsa.pub 中的内容添加到gerrit-add ssh publickey 的时候,一直报错
后来才发现,如果你直接使用vim打开,复制过去会出错。这时候你需要使用gedit id_rsa.pub进行打开复制
git gerrit repo 三个工具----
git 是分布式代码管理方式,它有很多的优点,如速度快等
gerrit其实是一个web形式的代码管理平台,它底层的管理机制应该也是git
repo感觉上就是对git指令的封装跟强化吧
到目前为止,似乎还没有遇到过gerrit指令呢,不知到是不是因为用的不多