Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
如果远程站点上的开发人员与主站点的开发人员共享代码,则可以通过在远程位置缓存版本控制文件来节省带宽。 Azure DevOps 代理服务器从远程站点的缓存中分发常用版本控制文件,而不是让远程站点中的多个开发人员从主站点下载同一文件。 远程站点的团队就像往常一样工作,不用操心将哪个版本控制文件加载到缓存中。
若要设置此设置,请在远程站点安装并配置代理服务器,将代理服务器连接到应用程序层,然后将团队资源管理器的版本控制功能连接到代理。 必须先将代理服务器的服务帐户添加到主站点上的 Azure DevOps Server,然后才能开始在远程站点上缓存文件。
在远程站点缓存版本控制文件
步骤 | 任务 | 详细说明 |
---|---|---|
![]() |
检查支持的硬件和软件。 验证作系统是否满足 Azure DevOps 代理服务器的要求,以及硬件是否可以运行它。 | Azure DevOps 代理服务器的系统要求 |
![]() |
设置 Azure DevOps 代理服务器。 安装 Azure DevOps 代理服务器。 安装完成后,使用 Azure DevOps Server 配置中心配置代理服务器。 |
运行 Azure DevOps Server 安装 使用 Azure DevOps Server 配置中心配置 Azure DevOps 代理服务器 |
![]() |
将团队资源管理器连接到 Azure DevOps 代理服务器。 将代理服务器配置为连接到 Azure DevOps Server 后,必须将团队资源管理器配置为通过代理服务器访问版本控制文件。 | 配置 Team Foundation 版本控制以使用代理服务器 |
配置 Azure DevOps 代理服务器
可以使用以下过程通过 Azure DevOps Server 配置中心配置 Azure DevOps 代理服务器。
注释
可以通过启动 Azure DevOps Server 管理控制台,选择代理服务器,然后选择“配置已安装的功能”,从“开始”菜单访问 Azure DevOps Server 配置中心。
先决条件
若要遵循此过程,必须具有以下权限级别:
在要配置 Azure DevOps 代理服务器的服务器上,具备管理员安全组的成员资格。
Azure DevOps Server 上的 Project Collection Administrators 组中的成员身份。
对于 Azure DevOps Services,您需要成为集合管理员,或者在代理命名空间上具有管理代理权限。 可以使用以下方法授予代理权限:
tfssecurity /a+ Proxy Proxy Manage <user account> ALLOW /collection:{collection url}
注释
必须具有 TFS Update 2 或更高版本的代理服务器才能使用上述命令。
若要配置 Azure DevOps 代理服务器,必须在服务器作系统上安装 Azure DevOps Server。 有关详细信息,请参阅 Azure DevOps Server 的系统要求。
配置 Azure DevOps 代理服务器
若要使用 Azure DevOps Server 配置中心配置 Azure DevOps 代理服务器,请执行以下步骤:
选择 “配置 Azure DevOps 代理服务器”,然后选择“ 启动向导”。
此时会显示 Azure DevOps 代理服务器配置 向导。
阅读欢迎屏幕,然后选择“ 下一步”。 如果在此服务器上设置了 TFS 2013 代理版本(此功能仅适用于 TFS 2013 代理和转发),系统会提示还原设置。 如果要配置具有不同资源的此代理服务器,请选择 “否 ”,然后继续执行下一步。 如果要将代理连接到同一 Azure DevOps Server 服务器,请选择“ 是”。 Azure DevOps Server 将尝试进行身份验证。 如果 Azure DevOps Server 已成功认证所有终结点,请跳到第 4 步。
如果一个或多个终结点出现问题,则每个失败的连接都有以下故障排除选项:
连接:使用此选项手动对终结点进行身份验证。 手动身份验证是处理任何失败连接的良好起点。
跳过:使用此选项跳过身份验证。 如果还没有密码对此终结点进行身份验证,并且想要保存连接信息供以后再试,则 Skip 非常有用。
删除:使用此选项完全删除终结点。
小提示
有关这些选项的更多详细信息,请参阅博客文章“ 代理升级:如何验证跳过的代理终结点”。
选择 “浏览”,然后选择希望此代理服务器连接到的项目集合。 选择“下一步”。
注释
如果项目集合位于 Azure DevOps Services 上,系统会提示你进行身份验证。 输入用于设置服务的Microsoft帐户。
在 “服务帐户”下,选择“ 使用系统帐户 使用网络服务”或使用 用户帐户 使用域或本地帐户。 如果使用用户帐户,则必须输入密码。 若要测试用户帐户和密码组合,请选择“ 测试”。
网络服务是代理服务器服务帐户的默认值。
以下可选配置显示在 “高级配置”下:
如果已连接到托管服务,则会在此处显示 帐户名称 。
在托管服务上创建了 Azure DevOps Server 实例时,系统会自动创建帐户名称。 此帐户将添加到托管服务上的 项目集合代理服务帐户 组。 若要使用其他帐户,请输入帐户名称并选择“ 测试”。
若要自动重置为默认服务帐户,请选择 “重置为默认服务帐户”。 这不再适用于 Azure DevOps Server 2017 Update 2 和更新的代理服务器。
可以更改身份验证设置。 在 “身份验证方法”下,选择 NTLM 以使用 NTLM 身份验证,或 “协商”(Kerberos)首次尝试 Kerberos 身份验证,这是更安全的选项,如果失败,请回退到 NTLM。
NTLM 是默认值。
选择“下一步”。
在 “端口”中,接受默认值 8081,或输入其他侦听器端口号以连接到 Azure DevOps 代理服务器。
8081 是默认值。
在 缓存根目录中,接受默认值,或输入存储缓存文件的其他位置的路径。
默认值为 Drive:\Program Files\TFS 12.0\Version Control Proxy\ _tfs_data
驱动器 是要存储缓存文件的驱动器的字母。 可以指定映射的网络驱动器。
选择“下一步”。
在“审阅”页上,查看设置,然后选择“ 下一步”。
向导验证您的配置。
为向导选择 “配置 ”以应用配置设置。
选择“成功”屏幕上的 “下一步 ”,阅读下一个成功屏幕上的详细结果。 你还将在此屏幕上找到一个包含配置结果的日志的链接。
选择 “关闭 两次”,将显示 Azure DevOps Server 管理控制台。
配置 Team Foundation 版本控制
可以将 Team Foundation 版本控制配置为使用代理服务器,该服务器在分布式团队的位置缓存版本控制文件的副本。 可以使用代理服务器减少远程开发人员的带宽要求。
若要遵循此过程,你必须是正在配置团队资源管理器的计算机上的“用户”安全组的成员。
若要将团队资源管理器配置为使用 Azure DevOps 代理服务器,请执行以下作:
启动 Visual Studio。
在“工具”菜单上选择“选项” 。
在“ 选项 ”对话框中,展开 “源代码管理”,然后选择“ 插件选择”。
对于 当前源代码管理插件,请确保值为 Visual Studio Team Foundation Server。
在 “源代码管理”下,选择 “Visual Studio Team Foundation Server”。
选中“ 使用代理服务器下载文件 ”复选框。
在 “代理服务器名称 ”框中,输入运行 Azure DevOps 代理服务器的服务器的名称。
在 “端口 ”框中,输入 Azure DevOps 代理服务器的侦听器端口。 默认情况下,Azure DevOps 代理服务器侦听端口 8081 上的客户端请求。
问题解答
问:代理服务器是否向后兼容早期版本的 TFS?
答: 是的。 代理服务器与 TFS 2010 和 TFS 2012 完全兼容。 事实上,TFS Proxy 2010、TFS Proxy 2012 和代理服务器在任何组合中彼此完全兼容。 例如,可以将 TFS Proxy 2010 与代理服务器配合使用,反之亦然。
问:Azure DevOps 代理服务器的任何版本是否具有缓存清理改进,以支持大于 1 TB 的磁盘?
答: 是的。 代理服务器已改进缓存清理,以支持大型磁盘。
问:代理服务器是否具有损坏检测逻辑?
答: 是的。 如果缓存文件在存储后在磁盘上损坏,则代理服务器具有检测损坏的逻辑。
问:代理服务器是否完全支持针对 dev.azure.com 的缓存?
答: 是的。
问:从一个版本的 Azure DevOps 代理服务器升级到另一个版本时,代理缓存会发生什么情况?
答:如果从早期版本的 Azure DevOps 代理服务器或 TFS 代理服务器升级,则会在升级期间保留缓存。 你将能够立即从远程位置继续访问 Azure DevOps Server,而不会影响任何性能,因为 Azure DevOps Server 无需重新创建或重新填充缓存。