如何在 Phabricator Diffusion 中集成本地 git 存储库?
How to integrate a local git repository in Phabricator Diffusion?
系统设置:在同一台机器上安装了 phabricator 以及 git 设置(不是这个问题的一部分)
git /srv/git 下的存储库
例如/srv/git/我的/example.git
用户帐户:
- "git" 与组 "git"(对于 git)
- "bugs" 组 "bugs git"(对于 phabricator)
这只是一个示例,请根据您的具体设置和需求采用!
现在,如何将这个本地托管的 git 存储库放入 Phabricator Diffusion(作为外部存储库)而不使 phabricator 成为主要权限?
一种方法是使用带有 public 密钥的 ssh 来访问本地存储库:
在 Phabricator 中创建 public 和私钥(又名凭据):
应用程序 -> 密码 -> "Create Credential" -> "SSH Private Key (Generated)"
注意:您可能需要锁定生成的凭据以防止私钥泄露!
如果不存在,为 phabricator 用户创建 .ssh 文件夹和 authorized_keys 文件 'bugs'
mkdir .ssh
touch .ssh/authorized_keys
检查权限 600 of authorized_keys and 700 of .ssh
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
将 phabricator 用户 ('bugs') 的 public key 复制到 .ssh/authorized_keys
注意:Phabricator 用户必须具有对 git 文件夹的读取权限(应该在组 'git' 中具有)
创建扩散存储库(外部托管)例如"ssh://bugs@localhost/srv/git/my/example.git"
Phabricator -> Diffusion -> 新存储库 -> "Import an Existing External Repository" -> 按照说明操作...
您可能希望先检查后激活存储库。激活时,导入应自动开始,您现在可以使用它,例如当识别到更改等时创建通知(先驱)
注意:存储库将作为主要权威主机在 /srv/git 下托管!
系统设置:在同一台机器上安装了 phabricator 以及 git 设置(不是这个问题的一部分)
git /srv/git 下的存储库 例如/srv/git/我的/example.git
用户帐户:
- "git" 与组 "git"(对于 git)
- "bugs" 组 "bugs git"(对于 phabricator)
这只是一个示例,请根据您的具体设置和需求采用!
现在,如何将这个本地托管的 git 存储库放入 Phabricator Diffusion(作为外部存储库)而不使 phabricator 成为主要权限?
一种方法是使用带有 public 密钥的 ssh 来访问本地存储库:
在 Phabricator 中创建 public 和私钥(又名凭据):
应用程序 -> 密码 -> "Create Credential" -> "SSH Private Key (Generated)"
注意:您可能需要锁定生成的凭据以防止私钥泄露!
如果不存在,为 phabricator 用户创建 .ssh 文件夹和 authorized_keys 文件 'bugs'
mkdir .ssh
touch .ssh/authorized_keys
检查权限 600 of authorized_keys and 700 of .ssh
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
将 phabricator 用户 ('bugs') 的 public key 复制到 .ssh/authorized_keys
注意:Phabricator 用户必须具有对 git 文件夹的读取权限(应该在组 'git' 中具有)
创建扩散存储库(外部托管)例如"ssh://bugs@localhost/srv/git/my/example.git"
Phabricator -> Diffusion -> 新存储库 -> "Import an Existing External Repository" -> 按照说明操作...
您可能希望先检查后激活存储库。激活时,导入应自动开始,您现在可以使用它,例如当识别到更改等时创建通知(先驱)
注意:存储库将作为主要权威主机在 /srv/git 下托管!