工具安装------Phabricator Arcnist的介绍

Arcanist只能工作在git, svn, github等代码仓库下

文章目录

        一、Phabricator简介
            1. Phabricator基本使用
                1.1 下载仓库代码
                    1) Phabricator 配置http访问代码仓库
                    2) Phabricator 配置ssh访问代码仓库
        二、Arcanist
            1. windows 下Arcanist安装
                1.1 安装使用过程问题总结
            2. Arcanist基本使用
                2.1 Arcanist常用命令
        参考

一、Phabricator简介

七、Phabricator简介
参考URL: https://blog.csdn.net/u010285974/article/details/81222976

官网:https://www.phacility.com/
项目地址:https://github.com/phacility/phabricator
Phabricator是一套基于Web的软件开发协作工具,一个Web应用用于帮助软件公司构建更好的软件。
原是facebook员工开发的可视化代码评审工具,现在离开facebook去Phacility,并持续维护
主要包含以下几个功能:

    源码的review与审核
    代码托管,代码浏览
    BUG跟踪
    项目管理
    团队成员交流
    组织风险讨论
    事件备注,以及回顾(统计等)
    权限设置
    其他功能

Phabricator是一套基于Web的软件开发协作工具,它的主要功能有操作数据(任务查看操作);开发辅助(工作流,查看提交的 diff,代码检查,执行单元测试);辅助(文件文档管理)。它最初是Facebook的一个内部工具,后来发展开源。

Phabricator是一个LAMP (Linux, Apache, MySQL, PHP) 程序,所以Windows下是不能安装的。

    Phabricator能够托管代码仓库,并提供给SSH和HTTP访问方式。

个人使用体会TODO:

    Phabricator有wiki功能,很方便团队共享一些项目基本信息、以及知识。

1. Phabricator基本使用


1.1 下载仓库代码
1) Phabricator 配置http访问代码仓库

    首先配置git的密码管理


    在这里插入图片描述
    然后使用 IDEA打开http://xxx.git 下载代码即可。

2) Phabricator 配置ssh访问代码仓库

    如上图,选择钥匙图标,选择–> SSH秘钥操作—> 生成秘钥对。
    Phabricator服务端会帮你生成公私钥,公钥服务器端保留,你下载私钥放置到
    C:\Users\Administrator.ssh

改名为id_rsa,注意,这里的文件不能有后缀,否则的话进行上传文件的时候会不识别你的私钥的。

注意:当然你也可以百度 在你的电脑上生成公私钥,把公钥上传Phabricator服务端。
二、Arcanist

arcanist的用法简介
参考URL: http://softlab.sdut.edu.cn/blog/subaochen/2016/09/arcanist%E7%9A%84%E7%94%A8%E6%B3%95%E7%AE%80%E4%BB%8B/

Arcanist是Phabricator提交代码评审的客户端工具。即这是Phabricator配套的Code Review工具。

Arcanist是Phabricator提供的一个客户端命令行工具,旨在帮助我们快速的操作和使用(不使用Arcanist的话,在web界面也是可以进行diff等操作的)。

    arcanist是phabricator创建的代码审核辅助工具。

1. windows 下Arcanist安装

首先,安装依赖:

    安装 PHP (PHP官方下载地址: https://windows.php.net/download/).
    安装 PHP, 并配置环境变量;
    在系统变量中找到Path 点击;找到php.exe的文件目录,添加到path中;php -v 显示版本,表示成功;

复制 php.ini-development 文件为 php.ini, 用文本编辑器打开, 将 extension_dir=”ext”、 extension =”php_curl.dll”、extension =”php_mbstring.dll”前面的分号去掉。 如果没
有, 则添加这几项;

    安装 Git. 并把git命令行加入环境变量PATH
    安装 arcanist 和 libphutil。

将下载好的两个文件解压,将arcanist 中的 arc.bat 所在目录配置在 Path 环境变量中。
再 将 解 压 好 的 libphutil 文 件 夹 , 剪 切 到arcanistr\externals\includes 目录下;    配置 arc 编辑器。
    使用 Arcanist 时需要使用文本编辑器编辑文本,不能使用微软自带的NotePad,建议使用 vim。
    在命令行运行如下命令,利用git的 vim.exe

C:\Users\G>arc set-config editor "C:\Program Files\Git\usr\bin\vim.exe"
Set key "editor" = "C:\Program Files\Git\usr\bin\vim.exe" in user config (was null).

    配置 Arcanist
    方法一:
    在 git 库代码根目录, 创建文件**.arcconfig**,并写入

{
"phabricator.uri" : "http://你公司Phabricator服务地址.com/"
}

在项目的根目录, 使用命令行输入, arc install-certificate,会提示访问路径。在浏览器中打开,复制 token,粘贴到命令行即可。

    注意: 你应该把这个文件(.arcconfig)提交到代码仓库。新加入的人就不用使用方法二中设置arc set-config default 的步骤了。arc命令会根据这个文件,知道,它连接的Phabricator服务地址。

方法二:
配置PhabricatorURI:运行命令arc set-config default 你公司Phabricator服务地址,例如arc set-config default http://dev.she.cn/
安装证书:运行命令arc install-certificate,依照提示访问http://公司Phabricator服务地址/conduit/token/, 复制内容粘贴token即可。
1.1 安装使用过程问题总结

    执行arc -v报错Warning: PHP Startup: Unable to load dynamic library ‘”php_curl.dll”’

C:\Users\G>arc -help
PHP Warning:  PHP Startup: Unable to load dynamic library '
Warning: PHP Startup: Unable to load dynamic library '”php_curl.dll”' (tried: D:\php-7.3.6\ext\”php_curl.dll” (找不到指 定的模块。), D:\php-7.3.6\ext\php_”php_curl.dll”.dll (找不到指定的模块。)) in Unknown on line 0

原因分析: php.ini中的extension_dir = “ext” 指定了它去ext目录找拓展的动态库文件。仔细查看报错,发现它”php_curl.dll” 整个替换了。

解决方法:
因此,修改php.ini 相关动态库引入,类似如下即可:

extension =curl
extension =mbstring

    执行arc -help报错:ERROR: Unable to load libphutil. Put libphutil/ next to arcanist/, or update your PHP ‘include_path’ to include the parent directory of libphutil/, or symlink libphutil/ into arcanist/externals/includes/.

原因分析:
arcanist安装路径下externals\includes\ 下必须是libphutil目录名,之前是libphutil-master,它找不到,这里这个目录名是死的,arcanist在\externals\includes\libphutil找。
解决方法:
D:\arcanist-master\externals\includes\libphutil
3. 执行arc diff时乱码 (window下 vim乱码)
原因分析:因为前面配置arc使用git带的 vim.exe编辑器。原因是vim配置的编码问题。
解决方法:
找到VIM安装目录下的vimrc文件(C:\Program Files\Git\etc):
在文件最前面添加:

set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set fileformats=unix
set encoding=prc

2. Arcanist基本使用

在这里插入图片描述

    arc diff (使用 arc diff 将代码发送到 Differential 以供审核)
    对项目做了一些修改后,首先git add/git commit将修改放进暂存区(stage area),然后执行arc diff命令,会提示填写下面的信息:

    Test Plan – 必填,详细说明你的测试计划;
    Reviewers – 必填,执行代码审核人的账户,多个使用”,”隔开;
    Subscribers – 非必填,订阅人,能够收到代码变更的邮件通知,多个使用”,”隔开;

提交后,代码即进入phabricator的Differential,并生成一个代号D#(#为具体的数字),代码审核人就能够审阅你的代码了。

如果审核未通过,修改代码后继续使用arc diff –update D#,表示更新D#这个Differential,审核人可以继续就D#进行审核,提出审核意见。

如果审核通过,在本地执行arc land即可将代码push到中央仓库。如果存在开发分支,arc land也会将开发分支合并到master,并删除开发分支(合并和删除开发分支待验证)。

arc diff –preview允许在phabricator界面创建Diff,在更新Diff时可能更加方便,值得尝试。
arc diff 可以加参数–preview,这样会给出url,打开后可以在web中创建Differential,或者选择已存在的进行更新,比命令行会友好一些

走了一遍arc diff –preview的流程,确实比终端界面容易操作一些。对于新建diff,效率没有终端高;对于更新diff,不用爬到页面去找diff的ID了,比终端命令方便。
因此,新建diff,直接arc diff就好;更新diff,arc diff –preview有优势。

    arc land
    代码审核通过后,可以执行arc land将代码提交进中央仓库。arc land自动执行git push并且squash log ,默认情况下也删除了开发分支。arc land –keep-branch应该可以保留开发分支,此功能待验证。

2.1 Arcanist常用命令

$ 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 # 修改配置,使用–local参数为全局配置

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值