一.安装

用的是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,希望有配置成功的交流一下)

20190702更新Ldap配置(成功)

可以通过/srv/phabricator/phabricator/bin/auth ldap --trace 来调试;

2.通过jira来集成用户认证

  .选择JIRA,配置参考:

    

  .在jira管理后台---应用程序----应用程序连接,进行创建该phabricator的连接,然后点修改配”传入的验证“即可,详情可以参考选择jira认证后的配置页面有具体的配置方法;

  遇到的问题:当Jira Base Url是通过NG转发的话,登录会提示

 

Unhandled Exception ("HTTPFutureHTTPResponseStatus")

[HTTP/401] oauth_problem=signature_invalid&oauth_signature=eer1m

 解决办法:

  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

 

3.配置邮箱发送

   创建mail.json文件

[
    {
      "key": "phabricator",
      "type": "smtp",
      "options": {
         "host": "smtp.exmail.qq.com",
         "port": 465,
         "user": "auto@jd.com",
         "password": "dsfdsshJ4jacy",
         "protocol": "ssl"
      }
    }
  ]

  #config set --stdin cluster.mailers <mail.json

当然也可以直接编辑phabricator/conf/local/local.json文件,然后重启服务即可

测试:#mail send-test --to 1113123@qq.com --subject hello <1.md

三.使用

  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.通过命令行创建用户及管理用户

如果你第一次访问不是这个界面, 我们也可以在控制台通过命令 ./bin/accountadmin 的方式添加用户.

3.补充Docker-compose方式安装

   

version: '2'
services:
  mariadb:
    image: 'bitnami/mariadb:10.3'
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_EXTRA_FLAGS=--local-infile=0
    volumes:
      - 'mariadb_data:/bitnami'
  phabricator:
    image: 'bitnami/phabricator:2019'
    ports:
      - '80:80'
      - '443:443'
    volumes:
      - 'phabricator_data:/bitnami'
    depends_on:
      - mariadb
volumes:
  mariadb_data:
    driver: local
  phabricator_data:
    driver: local

#docker-compse up -d即可

启动完无法访问的问题,需要修改配置文件 /server/docker/volumes/root_phabricator_data/_data/phabricator/conf/local/local.json中的"phabricator.base-uri": "http://phabricator.jianlc.tp",设置为域名,默认是127.0.0.1.

 

4.解锁配置和锁定配置

 #./bin/auth unlock

#./bin/auth lock       //锁定配置

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐