Phabricator(代码review)客户端安装及使用

Phabricator是Facebook一个开源可视化的代码审查工具,它集成了一系列开源的Web应用,其中包括审查代码、代码(git/svn)托管、语法检查、单元测试、wiki等功能,还可以bug跟踪,直接做jira与代码review关联,支持两种代码审查工作流:“review”(提交前审查)和 “audit”(提交后审查)。

一、客户端环境安装

1、安装PHP

Mac中自带php,无须安装;windows环境下,官网下载php包:http://www.php.net/downloads.php,将php目录直接放到D:\根目录

2、安装Arcanist和依赖库libphutil:

Mac下进入/Applications(windows在D:\根目录),新建Phabricator文件夹,然后在其目录下下载:

$  git clone git://github.com/facebook/arcanist.git
$  git clone git://github.com/facebook/libphutil.git

3、设置环境变量

在系统变量(非用户变量)的Path变量里添加以下两个路径(win7及以下记得中间用;隔开):

D:\php
D:\Phabricator\arcanist\bin

Mac下,运行:

export PATH="$PATH:/Applications/Phabricator/arcanist/bin"

4、测试

在系统变量(非用户变量)的Path变量里添加以下两个路径(win7及以下记得中间用;隔开):

$  php -v     # 测试php是否安装成功
$  arc help   # 测试arc是否安装成功

二、代码审核工具使用

1、注册账号

浏览器打开Phabricator代码审核url: http://192.168.4.28:9080/,注册一个账号,规则如下:

Phabricator UsernameRequired: gaoyy   # 姓全称 + 名字首字母缩写,统一规则便于记住审核人
Real NameRequired: 高圆圆             # 真实中文名全称
Email: gaoyuanyuan@github.com        # 真实可用的email,用于接收各类审核消息

2、初始化认证

进入项目根目录,如:E:xxx-front,初次运行arc diff,会提示安装证书,根据提示运行,未提示则进入步骤3,arc相关配置。

$ arc install-certificate

根据提示(若未提示相关内容,说明项目下缺少.arcconfig配置文件),打开页面 http://192.168.4.28:9080/conduit/login/,登录账户后,拷贝API Token值,回来粘贴提示处,回车完成证书安装。

3、arc相关配置

a.) 项目配置文件

在项目的根目录有个.arcconfig配置文件,可直接配置代码审核url、编辑器等信息,此文件将加入git版本控制,所以无须自己添加。

{
  "phabricator.uri" : "http://192.168.4.28:9080/",
  "editor" : "vim"
}

b.) 设置arc编辑器

若arc diff 提示未设置编辑器,通过以下方法可以设置:

$ arc set-config editor "vim"   # 默认vi做编辑器
# 或
$ arc set-config editor "\"D:\Program Files\Sublime Text\sublime_text.exe\" -w"   # 使用sublime text

4、代码审核-preview流程

以下为先审核再提交的preview流程:

a.) 本地提交代码

$ git add .
$ git ci -am '* [cps-bk] 提交信息'

b.) 提交审核

运行arc diff,弹出vi编辑窗口里Reviewers项添加审核人,多个审核人中间用逗号隔开,保存退出,生成一个审核url,拷贝发给审核人或让审核人查收邮件,完成审核

$ arc diff

若审核未通过需要修改,或之前忘记了啥,想再修改修改,可以先按步骤a.)本地提交好,然后运行

$ arc diff --update D(n)    # 更新之前那条审核,再次发起提交

c.) 审核通过后,运行以下命令完成提交

$ arc land   # 已包括git push的动作,所以无需再提交了

5、代码审核-audit流程

以下为先提交再审核的audit流程(跟正常提交流程一样,只需在提交信息换行添加Auditors: xxx字段):

$ git ci '
> * [vue] 提交信息
> 
> Auditors: xxx
> '

或先commit后,再用git ci --amend修改换行添加Auditors: xxx字段。

6、常用命令

$ arc help                      # 获得arc中包装的可用指令/工具
$ arc diff                      # 提交代码去审核
$ arc diff --update D(n)        # 审核未通过,修改后,再次提交审核
$ arc diff --create             # 创建一个新的提交审核
$ arc land                      # 审核通过后提交,已包括git push的动作,所以无需再push了
$ arc amend                     # 审核Git更新提交后的信息
$ arc list                      # 显示未提交修改的代码信息
$ arc lint                      # 检查代码的语法
$ arc get-config                # 查看已设置过的配置
$ arc set-config <key> <value>  # 修改配置,使用--local参数为全局配置

官方参考: https://secure.phabricator.co...