您的位置:首页 > 编程语言

Facebook代码审核工具Phabricator使用指南

2016-10-25 18:29 567 查看
Phabricator支持两种代码审查工作流:“review”(提交前审查)和 “audit”(提交后审查)。

模式review:提交前审查的使用说明

一、Arcanist 安装注意:

此文档仅仅针对Linux用户
对于Mac OS X用户,请参照 Arcanist使用手册: Mac OS X
对于Windows用户,请参照 Arcanist使用手册: Windows

1.1 安装如下软件包

sudo yum install php git

1.2 安装Arcanist

$ mkdir somewhere/
$ cd somewhere/
somewhere/ $ git clone https://github.com/phacility/libphutil.git somewhere/ $ git clone https://github.com/phacility/arcanist.git[/code] 1.3 修改环境变量

$ export PATH="$PATH:/somewhere/arcanist/bin/"
$ export EDITOR="/usr/bin/vim"

二、配置项目

注意:配置项目的详情,请参照 Arcanist使用手册: 配置新项目

在项目工作目录下创建配置文件 .arcconfig

$ cd yourproject/
yourproject/ $ $EDITOR .arcconfig
yourproject/ $ cat .arcconfig
{
"phabricator.uri" : "https://phab.域名.org/"
}

三、安装Arcanist证书

在安装Arcanist证书之前,必须具有Phabricator账号

$ cd yourproject/
yourproject/ $ arc install-certificate

执行安装证书命令,会看到如下内容

CONNECT Connecting ...


按照提示,在浏览器里输入 http://phab.域名 href="http://phab.yongche.org/conduit/login/" target=_blank>.com/conduit/login/ ,会看到如下内容

获取 API Token


拷贝API token到命令行,如果看到如下内容,表明证书安装成功

SUCCESS


四、配置Lint

注意:Lint的详情,请参照 Arcanist使用手册: Lint

Lint是程序语言检查工具的统称,通常用来分析代码并报出代码中的错误及警告。

可以通过如下命令列出当前支持的Lint。

$ arc linters

根据你项目的需要,在项目工作目录下创建配置文件 .arclint

$ cd yourproject/
yourproject/ $ $EDITOR .arclint
yourproject/ $ cat .arclint
{
"linters": {
"merge-conflict": {
"type": "merge-conflict"
},
"php-syntax": {
"type": "php",
"include": "(\\.php$)"
}
}
}

五、提交代码到Review状态

注意:arc diff的详情,请参照 Arcanist使用手册: arc diff

如下以将Arcanist配置文件提交到项目为例,输入如下命令提交代码到Review状态

$ arc diff

输入命令,会有2次确认,填y即可。

其间,命令行会提示你输入概述,测试计划,修订人(即你希望的代码reviewer),以及订阅者,内容如下

<<Replace this line with your Revision Title>>
Summary:
Test Plan:
Reviewers:
Subscribers:
# NEW DIFFERENTIAL REVISION
# Describe the changes in this new revision.

忽略#开头的行:
开头: 本次修改的详细描述,必填,可以换行(从第一行到Summary行)。
Summary: 本次修改的简短描述,必填。
Test Plan: 留空,不填。
Reviewers: Reviewer的账号,可填多个。可以不填,之后打开Phabricator补上。


提交成功后,可以在Phabricator的"Diff 检阅"里面看到你的提交处于"等待Reviewer审查"的状态。

六、Reviewer审核代码
代码Reviewer可以线下或者通过线上来完成代码审核,审核通过后在Phabricator的"Diff 检阅"里面找到相应的提交,并给出意见,通过或者拒绝。可以设置操作和注解。

七、正式发布代码
代码通过Review以后,作者可以在Phabricator的"Diff 检阅"里面看到你的提交处于"Ready to Land"的状态。

输入如下命令正式发布代码

$ arc land

日志会显示提交信息,一次成功的提交已经完成了。

Phabricator操作说明

Waiting on Review
Comment #添加说明
Abandon Revison #废弃版本
Plan Changes #改变计划(—>Ready to Update)
Add Reviewers #添加审核人
Add Subscribers #订阅人

Ready to Update
Comment #添加说明
Abandon Revison #废弃版本
Request Review #重新请求Review,可添加审核人(->Waiting on Review)
Add Reviewers #添加审核人
Add Subscribers #订阅人

Ready to Review
Accept Revison #接受版本 (->Ready to Land)
Request Changes #请求改变 (->Waiting on Authors)
Resign as Reviewer #辞去审核人
Commandeer Revison #角色互换(创建人变更为审核人)
Add Reviewers #添加审核人
Add Subscribers #订阅人

Ready to Land
Comment #添加说明
Abandon Revison #废弃版本
Request Review #重新请求Review,可添加审核人(->Waiting on Review)
Plan Changes #改变计划(—>Ready to Update)
Close Revison #关闭版本
Add Reviewers #添加审核人
Add Subscribers #订阅人

Waiting on Authors
Comment #添加说明
Accept Revison #接受版本 (->Ready to Land)
Resign as Reviewer #更换审核人
Commandeer Revison #角色互换(创建人变更为审核人)
Add Reviewers #添加审核人
Add Subscribers #订阅人

arc操作说明

arc diff // 提交默认的diff
arc diff xxx --preview // 提交针对某个分支的commit,并只生成diff文件,不在web端创建revision
arc which // 查看arc diff 会提交哪个范围的diff
arc land // 提交代码,删除该分支 or 使用 git push
arc list // 查看有哪些revision和其状态

不足之处,欢迎指正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Phabricator