如何在Phabricator Diffusion中集成本地git存储库?

时间:2016-04-07 10:12:15

标签: git repository phabricator

系统设置:在同一台计算机上安装了phabricator以及git设置(不是此问题的一部分)

/ srv / git下的git存储库 例如/srv/git/my/example.git

用户帐户

  • “git”与组“git”(对于git)
  • “bugs”与群组“bugs git”(对于phabricator)

这只是一个例子,请根据您的具体设置和需求采用!

现在,如何将这个本地托管的git存储库放入Phabricator Diffusion(作为外部存储库)而不使phabricator成为主要权限?

1 个答案:

答案 0 :(得分:2)

一种方法是使用带有公钥的ssh来访问本地存储库:

    在Phabricator中
  1. 创建公钥和私钥(又名凭证):

    应用程序 - >密码短语 - > “创建凭据” - > “SSH私钥(生成)”

    注意:您可能希望锁定生成的凭据以防止泄露私钥!

  2. 如果不存在,请为phabricator用户“错误”创建.ssh 文件夹和 authorized_keys 文件

      

    mkdir .ssh

         

    触摸.ssh / authorized_keys

  3. 检查权限 600个authorized_keys和700个.ssh

      

    chmod 700 .ssh

         

    chmod 600 .ssh / authorized_keys

  4. 将phabricator用户的公钥('bugs')复制到 .ssh / authorized_keys

    注意:Phabricator用户必须具有对git文件夹的读取权限(应该在群组'git'中)

  5. 创建扩散存储库(外部托管),例如“SSH://bugs@localhost/srv/git/my/example.git”

    Phabricator - >扩散 - >新存储库 - > “导入现有外部存储库” - >按照说明......

  6. 您可能需要先检查后激活存储库。处于活动状态时,导入应自动启动,您现在可以使用它,例如在识别出更改等时创建通知(Herald)。

    注意:存储库将作为主要授权主机保留在/ srv / git下托管!