几年来,我们在生产域 (corp.ourcompany.net) 上一直使用单个 Team Foundation Server(用于源代码控制),并且运行良好。但是,我们现在有了一个实验室,我想将源代码控制访问权限扩展到在那里工作的开发人员 (testlab.corp.ourcompany.net)。这样,在实验室或生产网络中编写代码的开发人员都可以访问相同的源代码(这不是关于在哪里开发的问题 - 我知道应该都在某种实验室中,但事实并非如此)。
它位于网络的防火墙子集中,并且无法从实验室访问生产环境,因此我们在实验室中安装了 TFS 代理服务器并允许所有必要的端口。但是,由于这是两个不同的域,我遇到了麻烦 - 当我尝试配置代理服务器时,它要求提供可以访问生产 TFS 的服务帐户,而我无法添加:
- 当我提供生产帐户(corp.ourcompany.net\ProxyAccount)时,它无法解析它
- 如果我使用 testlab 帐户,则无法在生产中授予该帐户访问权限(该帐户需要能够在生产服务器上查看源代码)。
我需要设置某种信任吗?我认为目前没有任何信任,或者它甚至不是我们设置的一个选项,但我陷入困境 - 我似乎无法让实验室中的开发人员访问生产 TFS 服务器上的源代码控制。即使他们确实有网络访问权限,我也无法授予他们的测试实验室域登录名登录 TFS 所需的任何类型的应用程序访问权限。
我是否忽略了一些显而易见的东西?还有其他方法可以实现这一点吗?其他平台可能比 TFS 更灵活,但我还没有准备好探索在那里做出改变——在决定切换之前,我对让 TFS 满足我的需求的潜在方法感兴趣。谢谢!
答案1
使用影子帐户。创建一个与域中用户名和密码相同的用户,但将其设为远程代理上的本地帐户。如果您在域中更改密码,则必须手动保持密码同步,但在这种紧急情况下,这种方法很有效。
答案2
为了使账户在域间获得信任,您确实需要域信任。
现在,实验室中是否需要完整的 TFS 副本?您不能只导出并部署吗,就像您为系统管理员提供新代码让他们部署时发生的情况一样?