如何安装Azure DevOps代理服务器并设置远程站点
Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018
如果你在远程站点上具有可与主站点上的开发人员共享代码的开发人员,则可以通过在远程位置上缓存版本控制文件来节约带宽。 Azure DevOps代理服务器将常用版本控制文件从其缓存分发到远程站点,而不是让远程站点中的多个开发人员从主站点下载相同的文件。 远程站点上的团队的工作方式与往常一样,但不管理向该缓存中加载哪些版本控制文件。
若要设置此内容,请在远程站点上安装和配置代理服务器、将该代理服务器连接到应用层,然后将团队资源管理器的版本控制功能连接到该代理。 在开始在远程站点缓存文件之前,必须将代理服务器的服务帐户添加到主站点Azure DevOps Server。

在远程站点缓存版本控制文件
| 步骤 | 任务 | 详细说明 |
|---|---|---|
![]() |
检查支持的硬件和软件。 验证操作系统是否满足Azure DevOps代理服务器的要求,以及硬件是否可以运行它。 | Azure DevOps代理服务器的系统要求 |
![]() |
设置Azure DevOps代理服务器。 安装Azure DevOps代理服务器。 安装完成后,使用 Azure DevOps Server Configuration Center 配置代理服务器。 | 运行Azure DevOps Server安装 使用 Azure DevOps Server 配置中心配置Azure DevOps代理服务器 |
![]() |
连接团队资源管理器Azure DevOps代理服务器。 将代理服务器配置为连接到Azure DevOps Server后,必须将团队资源管理器配置为通过代理服务器访问版本控制文件。 | 配置 Team Foundation 版本控制以使用代理服务器 |
配置Azure DevOps代理服务器
可以使用以下过程通过 Azure DevOps Server Configuration Center 配置Azure DevOps代理服务器。
注意
可以从“开始”菜单访问Azure DevOps Server配置中心,方法是启动Azure DevOps Server管理控制台,选择“代理服务器”,然后选择“配置已安装的功能”。
先决条件
若要遵循此过程,必须具有以下权限级别:
正在为其配置Azure DevOps代理服务器的服务器上的管理员安全组的成员身份。
Azure DevOps Server上Project集合管理员组中的成员身份。
对于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 Configuration Center 配置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实例时,会自动创建帐户名称。 此帐户将添加到托管服务上的Project集合代理服务帐户组。 若要使用其他帐户,请输入帐户名称并选择“ 测试”。
若要自动重置为默认服务帐户,请选择 “重置为默认服务帐户”。 这不再适用于 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不需要重新创建或重新填充缓存。


