我可以在 Bonobo GIT 服务器中创建多个存储库目录吗?

Can I create multiple repository directories in Bonobo GIT server?

在 Bonobo Git 服务器 5.2.0.0 中,我将 "Repository directory" 更改为类似 D:\Git_Repositories 的内容。

但是,它只会直接在该文件夹下搜索存储库,不会在其中传播其中的文件夹。

例如:

D:\Git_Repositories\PROJECT_A_Repos\Repository_1
D:\Git_Repositories\PROJECT_A_Repos\Repository_2
etc.

能以某种方式完成吗?
(无需为每个存储库目录创建新的 Bonobo 应用程序)

Can that be done somehow ?

在当前的实现中,没有:
Bonobo.Git.Server/Git/IGitRepositoryLocator.cs#IGitRepositoryLocator is used in Bonobo.Git.Server/Git/GitService/GitServiceExecutor.cs#ExecuteServiceByName() 这样:

args += " \"" + repoLocator.GetRepositoryDirectoryPath(repositoryName).FullName + "\"";

但没有什么能阻止您在 Bonobo.Git.Server/Git/ConfigurationBasedRepositoryLocator.cs#GetRepositoryDirectoryPath() 中添加更多智能,确保找到子文件夹名称 repository+".git" 而不是盲目地将 repo 的名称组合到固定的基本文件夹.


OP Elyahu ended up () 与:

I just created another Bonobo site that used the other folder as repositories container.
Bonobo basic site is less than 40MB

另一种解决方案是将 LINK 制作到另一个目录

来自目录:C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data 输入以下命令: MKLINK /D 存储库 D:\\存储库

(有关 MKLINK 的信息,请参阅:https://technet.microsoft.com/en-us/library/cc753194(v=ws.11).aspx

我的问题需要 3 个可能被 AD 组锁定的独立存储库。这些存储库还需要根据公司政策进行物理分离和逻辑分离。我想出的解决方案如下

首先,我取消了整个 "Virtual Application" 实现,并选择通过使用 Site 创建绑定到机器 IP 地址的新 IIS 网站,在 IIS w/one IP 地址上托管每个实例通过主机名进行绑定,以便 IIS 可以解析为正确的实例。因此 - 这需要 3 个内部 DNS 条目。如果在本地工作,您可能无需编辑 LMHost 文件。

示例:

  • 实例 1 = git1.domain.com
  • 实例 2 = git2.domain.com
  • 实例 3 = git3.domain.com

一旦创建了这 3 个绑定,我就使用我们的 AD 组将用户映射到团队,简单地修改了 AD Windows 身份验证的 web.config。

至于存储库,我将它们放在 Web 应用程序之外的一个完全不同的目录中,并更改了 Bonobo WebApp 中的设置以指向该实例的适当存储库。

示例:

  • 实例 1 = 回购路径:D:\Repositories\Repo1,安全(ADGroup1,GitAdmin)
  • 实例 2 = 回购路径:D:\Repositories\Repo2,安全(ADGroup2,GitAdmin)
  • 实例 3 = 回购路径:D:\Repositories\Repo3、安全(ADGroup3、GitAdmin)

唯一的缺点是我需要管理三个网站而不是一个。我实际上并不那么担心,因为它完全符合公司政策的要求,即对各种存储库进行物理和逻辑隔离。

也就是说 - 我确实认为该项目的发起人考虑支持多个存储库路径是明智的,因为这可能在支持多个存储库磁盘位置的组织中更常见