Gerrit开发配置指南¶

Gerrit开发配置指南¶

准备工作:地址映射¶
Windows下: C:\WINDOWS\system32\drivers\etc\hosts
Linux下: /etc/hosts      命令:sudo vi /etc/hosts
往hosts文件添加:

192.168.1.152   id.runyee.com
192.168.1.152   review.runyee.com
192.168.1.152   www.runyee.com

一. 注册Gerrit账户
请提交相关用户信息至SCM处单独开通账户

二. SSH配置(又叫配repo)
~$ cd ~
~$ mkdir .ssh 如果有.ssh文件夹,就直接执行 ~$ cd .ssh 进入.ssh
~$ cd .ssh
~/.ssh$ ssh-keygen -t rsa -C [email protected] (注:一路按回车即可)

在.ssh文件夹里添加新文件config, 内容如下:

Host runyee
Hostname  www.runyee.com
Port 29418
User huangchaojun(在gerrit里填写的用户名Username)
PubkeyAuthentication yes
IdentitiesOnly yes
PasswordAuthentication no
IdentityFile ~/.ssh/id_rsa

进入gerrit - Settings - SSH Keys,填入(用户名)Username(必须和config文件里的User一致),点击"Change Username"保存;
将~/.ssh/id_rsa.pub的内容复制到"Add SSH Public Key"一栏,文件内容如下所示:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgpLHmakdPDICCN8uwkkBiivMgXzofXCQ1f/PPaBri2dwseIkGY64bCdlZFcTfv3SchdAsv04adZmx31gszzRyY/rjlOGaIzkC5hroxY1AIfewryMH8I36M/0Sx/qV5I/7bQNu6osx1ZUtkvqF/yhy1j80vdWCVQ4c2M5Qlkqo+E+NeAoHjZtJaIVzMLgV0V1kfTwYQVHGu9a7UJH9PCKCpTAVvX6rA6ELZwcWUrv+apLlT9trxIHCHdehJ4kUkOFI4ouaUZ9/uX0P/uxlkGGeVWmguBnvE1iOsiq+Fmsqc1kcQXdJ70Qum1vlvXG7KDxYSi0PvfO/J+Ba9bgbBolX [email protected]
点击"Add"按钮,保存SSH Public Key.

~$ ssh runyee

或者

~$ ssh -p 29418 刚才注册的用户名[email protected]

如果出现

gerrit: no shell available
Connection to review.vanzo.com closed.

就说明连接成功了.

如果遇到错误:

Agent admitted failure to sign using the key.
Permission denied (publickey,password).


请在 .bashrc 中设置环境变量:

export SSH_AUTH_SOCK=0
三. 代码获取
配置对应gerrit用户验证环境
git config --global user.name huangchaojun
git config --global user.email [email protected]

1)单个项目获取
运行ls-projects命令查看所有相关Git项目:

ssh runyee gerrit ls-projects

使用Git命令Checkout单个项目,例如:

git clone runyee:tools/repo
2、整套代码获取(以MT7172-KK1-V1.7为例)
curl http://192.168.1.152/repo/repo > repo
chmod +x repo
./repo init -u ssh://runyee/MT7172-KK1-V1.7/manifest.git
./repo sync
注:
可将~/bin添加至PATH环境变量
echo "export PATH=~/bin:$PATH" >>~/.bashrc
. ~/.bashrc
curl http://192.168.1.152/repo/repo > repo 下载 repo, 将其拷贝至~/bin/目录
避免每次获取单独获取repo

四. 代码提交流程
1、获取相关代码,开发修改,编译验证,注意相关代码格式和注释
2、提交流程(请熟悉git基本命令)
运行git add XXfiles添加相关修改文件到缓存区
运行git commit提交至本地仓库,再运行:
git push runyee HEAD:refs/for/branch(对应分支)

说明:
如果不是用repo来获取,而是git clone runyee:platform/packages/apps 相应目录
可以用:git remote -v来查看具体的分支是master还是release。
如果是origin:
提交改动变为:git push origin HEAD:refs/for/F660
之后就可以在Gerrit界面看到刚才的提交.
3、代码审核与验证
所有代码都应该走 gerrit. 大致流程为:

1)Developer 开发, 提交到 gerrit 库

2)Reviewer review 代码

3) scm apply 这个 patch

4) scm 将 patch 打到相关分支(比如, 从master => release)

5) scm inspector 每两天检查一下 scm 的代码合并是否正确。

猜你喜欢

转载自huangbo-2020.iteye.com/blog/2188640