Code Review 的意义
code review 是现代软件开发非常有意义的一种技术管理方法,其价值不止在于代码的准入和找 bug,也是所有人技术交流和成长的一种手段,总结 CR 的意义,不限于:
- 找出可能的坑
- 帮助新人成长
- 互相督促代码质量
- 互相学习设计理念及编码思路
理想情况下所有代码合并都必须进行 code review,并且必须 CC 整个组,让你的每一个合并都更认真地对待
phabricator
诞生于 Facebook 内部,是一套基于 Web 的软件开发协作工具,包括代码审查工具 Differential,资源库浏览器 Diffusion,变更监测工具 Herald,Bug 跟踪工具 Maniphest 和维基工具 Phriction。Phabricator 可与 Git、Mercurial 和 Subversion 集成使用。
其本身是 PHP 开源程序:https://github.com/phacility/phabricator
系统配置
PHP 环境请自行 google,这里记录 nginx 配置
server {
set $content "~/dev-lib/phabricator/webroot";
listen 80;
server_name phabricator.tangkunyin.com;
root $content;
location / {
index index.php index.html index.htm;
rewrite ^/(.*)$ /index.php?__path__=/$1 last;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_intercept_errors on;
include /usr/local/etc/nginx/fastcgi.conf;
}
}
运行后,会提示通过命令设置Mysql信息,一般情况下直接设置密码即可
接着,会让你更新数据库信息,同样按提示操作即可
如此phabricator就算安装完成了,接下来根据引导配置一下系统各项参数。以下这些看情况配置就好
项目配置
先下载并配置环境变量:https://github.com/phacility/arcanist
再设置帐号信任:
arc set-config default http://phabricator.tangkunyin.com/
arc install-certificate http://phabricator.tangkunyin.com/
执行后会提示到网站上找到对应的 token,找到后粘贴输入。注意提示的网址应该是:http://phabricator.tangkunyin.com/conduit/login/,如果不是重新登录以加载新的配置
最后在项目中创建**.arcconfig**文件并配置基础项,完整配置请自提自:arc get-config --verbose
{
"phabricator.uri": "https://phabricator.d.xiaomi.net/",
"history.immutable": false
}
review 步骤
1、git commit 你的修改
2、开始 review
arc diff commit_id --create
或修改
arc diff commit_id --update D12306 (这儿的D12306是上一次review时的revisionId)
3、填写 review 信息
4、现在你会收到邮件,也可以在网站上看到你的 review,请大家评审吧
5、merge 仍然要在 gitlab 中完成,merge 消息中要带上 phabricator 的 review 地址,证明这次 merge 是 review 过的,收到了 accept 的 review 才进行合并
需要注意的是我这里并没有提到邮件发送配置,实际过程是要配置的,不然上边的邮件肯定发不出去
具体参考这篇文章:https://cloud.tencent.com/developer/article/1609447
平台操作资料:Phabricator Code Review 操作手册