白盒测试 [质量提升之道]-Phabricator 的安装

扫地僧 · April 09, 2018 · Last by 程明远 replied at June 06, 2018 · 2112 hits

文章系列
[质量提升之道]-Code Review
[质量提升之道]-UT&Coverage
[质量提升之道]-测试左移动&提测质量管控

前言

上一篇介绍了测试左移动&提测质量管控,本篇将介绍Phabricator的安装和使用,作为对Code Review话题的补充。

Phabricator简介

Phabricator是Facebook一个开源可视化的代码审查工具,支持代码托管(git/svn/mercurial),支持两种代码审查工作流:Review(提交前审查)和 Audit(提交后审查)。

为什么要使用代码审核工具

传统的代码审核是这样的:组织者协调相关人员集中到会议室,通过多媒体设备浏览代码进行多方评审,会议纪要列出修改点,会后逐一修改。

这种方法的缺点很明显,主要有以下几点:
1.组织成本高,要考虑到与会者是否有空,占用各方时间;
2.会议时间有限,如果会前没有做好充分的准备,容易遗漏问题,很难达到代码审核的预期;
3.发现问题后的修改效果和后续跟踪,往往难以落实、追溯。

引入代码审核工具,就是为了解决传统模式的痛点:
1.有利于时间的碎片化管理,发起审核流程后,每个参与者可以充分利用碎片时间处理;
2.没有时间限制上的压力,每个参与者都可以自由从容的审核代码;
3.每个发起的工作流都可以跟踪、追溯,直至达成目标。

Phabricator安装部署

请参阅官方安装文档
安装过程中,难免会踩坑,以CentOS7.0 + MySql + Phabricator为例,大致流程如下:

1.安装mysql

# 安装wget命令
[root@master ~]# yum -y install wget
# 下载mysqlrepo
[root@master ~]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# 安装mysql-community-release-el7-5.noarch.rpm
[root@master ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# 验证,会获得两个mysqlyum repo
[root@master ~]# ls -1 /etc/yum.repos.d/mysql-community*
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
# 安装mysql-server
# 注意:如果没有以上的yum repo源,会报没有可用包的错误
[root@master ~]# yum install mysql-server

2.安装Phabricator,执行官方安装文档提供的脚本

[root@master ~]# cd /opt/
[root@master ~]# chmod 755 install_rhel-derivs.sh
[root@master ~]# ./ install_rhel-derivs.sh

3.安装APC

[root@master ~]# sudo yum install pcre-devel
[root@master ~]# sudo yum install php-pear

[root@master ~]# mv /opt/arcanist /var/www/html
[root@master ~]# mv /opt/libphutil /var/www/html
[root@master ~]# mv /opt/phabricator /var/www/html

4.Apache配置,Apache 2.4+版本

[root@master ~]# vim /etc/httpd/conf/httpd.conf
<VirtualHost *>
# Change this to the domain which points to your host.
ServerName phabricator.example.com

# Change this to the path where you put 'phabricator' when you checked it
# out from GitHub when following the Installation Guide.
#
# Make sure you include "/webroot" at the end!
DocumentRoot /var/www/html/phabricator/webroot

RewriteEngine on
RewriteRule ^/rsrc/(.*) - [L,QSA]
RewriteRule ^/favicon.ico - [L,QSA]
RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
</VirtualHost>
<Directory "/var/www/html/phabricator/webroot">
Require all granted
</Directory>

5.关闭SELinux

# 临时关闭SElinux
[root@master ~]# setenforce 0
# 修改SELINUX=disabled,重启后永久关闭
[root@master ~]# vi /etc/selinux/config
# 查看SELinux状态
[root@master ~]# getenforce

6.防火墙设置

# 关闭防火墙(如果防火墙允许关闭)
# 临时关闭防火墙
[root@master ~]# service iptables stop
# 永久关闭,开机不启动
[root@master ~]# chkconfig iptables off
# 查看防火墙状态
[root@master ~]# service iptables status
# 修改防火墙配置(如果防火墙不允许关闭)
# 修改配置
[root@master ~]# vi /etc/sysconfig/iptables
# 添加以下端口:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# 重启防火墙
[root@master ~]# service iptables restart

7.添加中文支持

# 进入phabricator/src/extensions/目录下,rm -rf README,再执行下面git命令,然后在客户端设置里,选择语言中文即可
[root@master ~]# git clone https://github.com/wanthings/phabricator-zh_CN.git ./

8.启动服务

[root@master ~]# service mysqld restart
[root@master ~]# service httpd restart

Phabricator登陆授权

1.设置登录授权方式;

# 若未设置用户名/密码登录方式,退出后登录不了,执行:
[root@master ~]# cd <path2phabricator>
[root@master ~]# ./bin/auth recover <管理员账号>

2.根据提示打开网址(默认端口80,直接输入host访问),登录后,进入auth菜单

3.添加一个登录授权方式

4.支持多种登陆授权方式,根据具体需求选择,一般选择用户名/密码登录方式

5.添加登陆授权方式完毕,退出后可以看到登陆界面了

后话

Phabricator的功能十分丰富,时间和精力有限,不再深入解读,关于Phabricator的使用,读者可以参考官方文档慢慢领悟。

至此,测试左移的部分已分享完毕。下一次,会介绍接口测试。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复 时间 点赞

期待接口测试的文章

扫地僧 [质量提升之道]-接口测试 中提及了此贴 06 Dec 00:30
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up