在Bonobo Git服务器5.2.0.0中,我更改了" Repository目录"像D:\Git_Repositories
这样的东西。
但是,它只会直接在该文件夹下搜索存储库,并且不会在其中传播其中的文件夹。
例如:
D:\Git_Repositories\PROJECT_A_Repos\Repository_1
D:\Git_Repositories\PROJECT_A_Repos\Repository_2
etc.
这可以以某种方式完成吗? (不为每个存储库目录创建新的Bonobo应用程序)
答案 0 :(得分:2)
能以某种方式完成吗?
根据目前的实施,没有:
Bonobo.Git.Server/Git/IGitRepositoryLocator.cs#IGitRepositoryLocator
用于Bonobo.Git.Server/Git/GitService/GitServiceExecutor.cs#ExecuteServiceByName()
,因此:
args += " \"" + repoLocator.GetRepositoryDirectoryPath(repositoryName).FullName + "\"";
但没有什么能阻止你在Bonobo.Git.Server/Git/ConfigurationBasedRepositoryLocator.cs#GetRepositoryDirectoryPath()
中添加更多智能,确保找到子文件夹名称存储库+“。git”,而不是盲目地将repo的名称组合到固定的基本文件夹。
OP Elyahu结束了(in the comments):
我刚刚创建了另一个使用其他文件夹作为存储库容器的Bonobo站点 Bonobo基本站点小于40MB
答案 1 :(得分:0)
另一种解决方案可以是建立到另一个目录的链接
从目录:C:\ inetpub \ wwwroot \ Bonobo.Git.Server \ App_Data 输入以下命令: MKLINK / D存储库D:\\存储库
(有关MKLINK的信息,请参阅:https://technet.microsoft.com/en-us/library/cc753194(v=ws.11).aspx)
答案 2 :(得分:0)
我的问题需要3个独立的存储库,这些存储库可由AD组锁定。这些存储库还需要根据公司策略进行物理隔离和逻辑隔离。我想出的解决方案如下。
首先,我取消了整个“虚拟应用程序”实现,并选择通过使用主机名通过站点绑定创建绑定到机器IP地址的新IIS网站,从而在带有一个IP地址的IIS上托管每个实例,因此IIS可以解析为适当的实例。因此,这需要3个内部DNS条目。如果在本地工作,则可能无需编辑LMHost文件。
示例:
一旦创建了这3个绑定,我就可以使用AD组将用户映射到Team来简单地修改web.config以进行AD Windows身份验证。
关于存储库,我将它们放置在Web应用程序之外的完全不同的目录中,并更改了Bonobo WebApp中的设置以指向该实例的适当存储库。
示例:
唯一的缺点是我需要管理三个网站,而不是一个。实际上,我并不担心,因为它完全符合公司对各种存储库进行物理和逻辑隔离的政策要求。
也就是说-我认为这个项目的发起人考虑支持多个存储库路径是明智的,因为这在支持多个存储库磁盘位置的组织中可能更常见