如果你需要在主机上搭建phabricator可以参考centos7搭建代码审查工具phabricator
如果你想直接使用做好的phabricator的docker镜像可以参考使用docker镜像搭建phabricator
本篇教程是记录如何在docker里面搭建phabricator,里面遇到了一些跟主机不太一样的问题
1.下载docker
yum install docker
2.拉取centos7的docker镜像
docker pull centos:7
3.启动docker容器
容器需要特权模式,并且需要使用80端口,这里以本地8888端口映射
docker run -itd --name phabricator -p 8888:80 --privileged=true centos:7 /usr/sbin/init
4.搭建phabricator
进入docker后就可以参考教程centos7搭建代码审查工具phabricator
5.后续处理
搭建完成后会发现phabricator找不到svn或者git程序,即使你装了svn或git
原因在于phabricator使用的php的Filesystem::resolveBinary($binary)在docker里面获取不到值,这里需要对php源码进行修改
更新: 后来发现是因为没有装which程序,装了就不需要改源码了
# 打开代码文件
vi phabricator/src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php
# 跳转到430行
# 把$where = Filesystem::resolveBinary($binary);语句改为
if (!strcmp($binary,'svn')) {
$where = '/usr/bin/svn';
} elseif (!strcmp($binary,'git')) {
$where = '/usr/bin/git';
} else {
$where = Filesystem::resolveBinary($binary);
}
代码的意思就是我们把对应的目录写死就可以了