一.安装
用的是docker镜像hachque/phabricator
启动:
#docker run -d --restart=always -p 80:80 -p 443:443 -p 22:22 --env PHABRICATOR_HOST=cr.abc.com --env MYSQL_HOST=ip --env MYSQL_USER=user --env MYSQL_PASS=password --env PHABRICATOR_REPOSITORY_PATH=/repos -v /server/repos:/repos hachque/phabricator
二.配置
1.LDAP集成(失败,用的OpenLadp,希望有配置成功的交流一下)
可以通过/srv/phabricator/phabricator/bin/auth ldap --trace 来调试;
2.通过jira来集成用户认证
.选择JIRA,配置参考:
.在jira管理后台---应用程序----应用程序连接,进行创建该phabricator的连接,然后点修改配”传入的验证“即可,详情可以参考选择jira认证后的配置页面有具体的配置方法;
遇到的问题:当Jira Base Url是通过NG转发的话,登录会提示
解决办法:
vi /opt/atlassian/jira/conf/server.xml:
.useBodyEncodingForURI="true"修改为useBodyEncodingForURI="false"
.添加proxyName="jira.abc.com" proxyPort="80" scheme="http"
然后重启#service jira restart即可
参考:https://confluence.atlassian.com/kb/oauth-error-oauth_problem-signature_invalid-720406720.html
三.使用
1.先要创建仓库
Phabricator 能够创建、作为主机、观察、镜像、代理和导入仓库。如果已经有了gitlab的话,一般我们会创建仓库并设置为观察库。
Observe a Repository
如果再其它服务(比如GitHub,Bitbucket或者一个私有服务器)上已经有一个仓库存在了,而你想使用Phabricator,你能够配置观察模式。
当进入仓库观察模式,Phabricator平台将跟踪远程仓库的修改,并允许你在web界面的Diffusion及其他应用中对仓库进行浏览和交互,而此时,你仍然能够继续在其他的地方存储仓库。
进行以下配置来观察一个仓库:
- 创建一个新的仓库,但是你不需要启动它。
- 将你想要观察的仓库URI添加到远程URI中。
- 将URI的I/O Type设置为Observe观察模式
- 如果需要,配置认证信息
- 启动这个仓库
Phabricator会对仓库做一次初始导入,在本地创建一份只读副本。一旦这个过程完成,它将在远程持续跟踪文件修改,对远程仓库做fetch操作,并在界面上反应出更新情况。
注意:在导入之前需要对/repos目录进行权限设置----不然会导入失败,提示权限问题;
#chown -R git:wwwgrp-phabricator /repos/
参考:https://www.jianshu.com/p/38c84e811ab0
2.安装并使用Arcanist工具提交
3.配置Herald Rule:创建自定义规则,当某些事件触发了规则时提醒我们
四.遇到的问题
1.配置ldap错误导致无法登陆。
参考:https://secure.phabricator.com/book/phabricator/article/configuring_accounts_and_registration/
解决办法:进入容器执行#/srv/phabricator/phabricator/bin/auth recover admin 恢复admin用户的操作,会给你一个链接,通过该连接即可以以admin的身份登陆。
2.