搭建CodeReivew 工具 Phabricator
简介
现在项目成本投入高了,自然对项目的质量要求也愈来愈高,像发布好还发现明显的 bug,或性能低下这种问题已不能接受。
由于产品的质量和代码质量密切相关,而开发团队里并不是每个人都是大神,大家的经验能力都有分水岭,当一起协作开发项目,为了保持一致的代码风格,保证高质量的代码,代码审查变得愈加重要。最近一直在找好用的代码审查工具,网上很多介绍了 (Phabricator)[https://www.phacility.com/] , 而且它还是以前 facebook 开发并且还在使用的代码审查工具,网上了解了下,决定先用它试手。
安装
phabricator 用 php + mysql 开发的,运行环境可以用 lamp, 也可以用 lnmp, 我用了 lnmp,操作系统是 centos7。如何搭建 运行环境,网上很多资料,就不重复了,主要记录下我安装 phabricator 的过程。
1. 下载 phabricator 源码
git clone https://github.com/phacility/phabricator.git
2. 配置虚拟目录
nginx 或 apache 的虚拟服务器的路径要指向 phabricator下的 webroot目录,参考我的 nginx 配置
server {
listen 80;
server_name <your domain>;
#access_log /data/wwwlogs/phabricator.easymylife.cn_nginx.log combined;
#index index.html index.htm index.php;
root /data/wwwroot/phabricator.easymylife.cn/phabricator/webroot;
# include /usr/local/nginx/conf/rewrite/wordpress.conf;
location / {
index index.php;
rewrite ^/(.*)$ /index.php?__path__=/$1 last;
}
location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
location /index.php {
fastcgi_pass localhost:9000;
fastcgi_index index.php;
#required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
#variables to make the $_SERVER populate in PHP
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
}
}
其中上面的
location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
不能少,phabricator 官网的配置是没有这段的,会出现 nginx 502 的错误。
3. 配置数据库
phabricator/ $ ./bin/storage set mysql.host localhost
phabricator/ $ ./bin/storage set mysql.user <your mysql username>
phabricator/ $ ./bin/storage set mysql.pass <your mysql password>
phabricator/ $ ./bin/storage upgrade
然后登陆数据库,就可看到生成了好多 phabricator 作前缀的数据库
4. 登陆 phabricator
然后登陆到你为phabricator 配置的域名,可看到配置 admin 的页面。
配置 git repository 的坑
- 创建 repository;
- 配置 url;
- 设置该 url git 的登陆授权;
- 激活 repository;
- 查看 repository 的 status;
- 运行 phd 守护线程: phd 在 phabricator/bin/ 目录下, 把它添加到 export 中(.bash_profile), 然后
bash phd start
; - 创建 /var/repo 目录;
- 设置 bas-uri:
bash phabricator/ $ ./bin/storage phabricator.base-uri 'http://your domain/'
;
如果第 8 步少了, 在 repository 的 status 会一直处在 "No Working Copy Yet Waiting for daemons to build a working copy."(如下图) , 这个坑我不少呀。
搭建CodeReivew 工具 Phabricator的更多相关文章
- 传智播客C/C++各种开发环境搭建视频工具文档免费教程
传智播客作为中国IT培训的领军品牌,一直把握技术趋势,给大家带来最新的技术分享!传智播客C/C++主流开发环境免费分享视频文档中,就有写一个helloworld程序的示范.火速前来下载吧 所谓&quo ...
- C# 快速开发框架搭建—开发工具介绍
C# 快速开发框架搭建—开发工具介绍 一.VS2013,SQL SERVER R22008 以上两种工具如有不会者自行百度学习下. 二.动软代码生成器 对于经典的三层架构框架来说,使用动软代码生成器会 ...
- android 搭建环境工具
---恢复内容开始--- 一.下载jdk 1.JDK可以去sun的官方网站下载Java SE Development Kit 6 http://java.sun.com/javase/downloa ...
- windows快速搭建FTP工具Serv-U FTP Server
本文介绍一个简单的FTP工具,当然windows系统自带FTP工具,但是配置方法没有第三方工具来的简单可操作性好. 此工具用于搭建FTP环境,对于需要测试FTP上传功能具有极大帮助.例如球机抓拍图片上 ...
- 基于GitLab与Git Extensions搭建版本控制工具
1.背景 大家知道GitHub是现在非常流行的代码托管工具,但是如果有些项目不想开源的话,则需要付费,因此萌生了自己搭建一个Git的版本控制工具,供内网使用.GitLab则是个好的选择,但是GitLa ...
- FTP服务器搭建基础工具:Serv-U 14.0.2使用教程
安装教程 1.在本站下载好压缩包,将文件解压,双击运行“ServUSetup官方原版程序.exe”程序,弹出语言选择框,选择“中文(简体)”,点击“确定”开始安装 2.点击“下一步”进行安装 ...
- Ansible自动化搭建及工具集和常见模块、命令详情(重点)
一.ansible介绍 1.ansible简介 官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具. Ansible跟其他IT自动化技术的区别 ...
- Android 开发环境搭建以及工具(不断更新)
学习android需要学习的编程知识 https://wiki.cyanogenmod.org/w/Doc:_Development_Resources 从http://source.android. ...
- X86上搭建交叉工具链,来给龙芯笔记本编译本地工具链(未完待续)
故事的背景是,我买了一台龙芯2F的笔记本来装B. 为什么说是装B呢?因为不但操作系统是Linux,而且CPU还是龙芯的. 一般人有这么酷的装备吗?简直是装B大圣啊. 这里一定要申明一点,本人不是IT技 ...
随机推荐
- Oracle EBS OPM release step
--release_step生产批 --created by jenrry SET serveroutput on DECLARE x_return_status VARCHAR2 (1); l_ex ...
- Oracle EBS INV 创建物料搬运单头
CREATE OR REPLACE PROCEDURE XX_CreateMoveOrderHeader AS -- Common Declarations l_api_version NUMBER ...
- c#中的数据类型简介(委托)
什么是委托? 委托是一种类型,它封装了一类方法,这些方法具有相同的方法签名(signature)和返回类型.定义听起来有点拗口,首先可以确定委托是一种数据类型,那么什么是方法签名,其实就是指方法的输入 ...
- Linux 基本概念 & 命令
0. Linux 理解 Linux 是一种操作系统,主要应用于服务器. Linux 性能稳定,其中的许多版本不收费(如CentOS),占用资源较少. 1. 命令行的状态 在 Linux 命令行下以上分 ...
- 内网arp攻击
内网arp攻击 环境:一台kali虚拟机(攻击者),一台win7虚拟机(用户) 网络:NAT模式 网段:192.168.41.0/24 网关:192.168.41.2/24 win7的IP地址:192 ...
- 【Alpha】团队课程展示
团队展示报告 团队分工 陈涵 PM + 后端开发 ,统筹全队安排,完成了登录界面,以及一部分部门模块和课程中教室模块的编写. 张鹏 后端开发,主要完成了主界面和其他功能界面的编写,课程界面的编写,以及 ...
- node学习笔记_01 环境搭建
一.下载安装nvm (node版本管理器),方便以后版本切换 nvm list -> 查看node版本(版本最好在8.0以上,不然在vsCode断点调试进不去,跟node版 ...
- CSS鼠标经过另类做法
HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- Tengine 2.1.2 (nginx/1.6.2)安装配置,淘宝 Web 服务器
简介 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很 ...
- 【转】Fiddler工作原理
原文章链接:Web代码网chinabit.org Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断 ...