开发者社区 | 系统要求和兼容性 | 许可条款 | TFS DevOps 博客 | SHA-1 哈希 | 最新 Visual Studio 2019 发行说明
本文将介绍最新发布的 Team Foundation Server 2018。 单击此按钮下载。
要详细了解 Team Foundation Server 2018,请参阅 Team Foundation Server 要求和兼容性页面。 请访问 visualstudio.com/downloads 页面,下载其他 TFS 2018 产品。
自 TFS 2012 起,支持直接升级到 Team Foundation Server 2018 Update 3。 如果 TFS 部署为 TFS 2010 或更低版本,必须先执行一些过渡步骤,然后才能升级到 TFS 2018 Update 3。 请参阅以下图表和 TFS 安装页以获取详细信息。

重要
不必先升级到 TFS 2018 RTM,再升级到 TFS 2018 Update 3。
Team Foundation Server 2018 Update 3.2 Patch 20 发布日期:2025 年 4 月 8 日
文件 | SHA-256 哈希 |
---|---|
tfs2018.3.2patch20.exe | 979F716173A25316FEB37BE77E3AB4EC1E1106815D878415231CC3C230681E62 |
我们发布了 Team Foundation Server 2018 Update 3.2 的修补程序 20 ,其中包括以下内容:
重要
有关 Pipelines 中代理 CDN 域 URL 更改的博客提供了安装此修补程序之前需要遵循的步骤。
- 以前,Azure DevOps 代理使用了带有终结点
vstsagentpackage.azureedge.net
的 Edgio CDN。 作为 Edgio 停用的一部分,该*.azureedge.net
域即将停用。 为了确保持续的可用性,我们已使用新的终结点download.agent.dev.azure.com
迁移到 Akamai 支持的 CDN。 此修补程序包括从新的 CDN 终结点提取代理二进制文件所需的更改,从而逐步迁移离以前的 CDN 终结点。
发布日期:2023 年 11 月 14 日
Team Foundation Server 2018 Update 3.2 Patch 19
我们发布了 Team Foundation Server 2018 Update 3.2 的修补程序,其中包括以下问题的修复。
- 扩展了 PowerShell 任务的字符允许列表,以验证 启用 shell 任务参数。
注意
若要实现此修补程序,您必须按照几个步骤来手动更新任务。
安装补丁
重要
我们发布了 Azure Pipelines 代理的更新,修补程序 18 于 2023 年 9 月 12 日发布。 如果未按照Patch 18的发行说明中所述安装代理更新,建议在安装Patch 19之前安装这些更新。 安装 Patch 18 后,代理的新版本将为 3.225.0。
配置 TFX
- 遵循将任务上传到项目集合文档中的步骤进行安装,然后使用 tfx-cli 登录。
使用 TFX 更新任务
文件 | SHA-256 哈希 |
---|---|
Tasks20231103.zip | 389BA66EEBC32622FB83402E21373CE20AE040F70461B9F9AF9EFCED5034D2E5 |
- 下载并提取 Tasks20231103.zip。
- 切换到解压缩后的文件所在的目录。
- 执行以下命令来上传任务:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.230.0.zip
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip
tfx build tasks upload --task-zip-path PowerShellV2.2.230.0.zip
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.230.0.zip
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.230.0.zip
管道要求
若要使用新行为,必须在使用受影响任务的管道中设置变量 AZP_75787_ENABLE_NEW_LOGIC = true
。
关于经典:
在管道中的变量选项卡上定义变量。
YAML 示例:
variables:
- name: AZP_75787_ENABLE_NEW_LOGIC
value: true
发布日期:2023 年 9 月 12 日
Team Foundation Server 2018 Update 3.2 补丁 18
我们为 Team Foundation Server 2018.3.2 发布了一个补丁,用于解决以下问题。
- CVE-2023-33136:Azure DevOps Server 远程代码执行漏洞。
重要
请将修补程序部署到测试环境,并确保环境的管道按预期工作,然后将修复应用于生产环境。
注意
为了实施此修补程序的修复,您必须遵循几个步骤来手动更新代理和任务。
更新 Azure Pipelines 代理
- 从以下位置下载代理:https://github.com/microsoft/azure-pipelines-agent/releases/tag/v3.225.0 - Agent_20230825.zip
- 使用自托管 Windows 代理文档中所述的步骤部署代理。
注意
必须将 AZP_AGENT_DOWNGRADE_DISABLED 设置为“true”以防止代理降级。 在 Windows 上,可以在管理命令提示符下使用以下命令,然后重启。 setx AZP_AGENT_DOWNGRADE_DISABLED true /M
配置 TFX
- 遵循将任务上传到项目集合文档中的步骤进行安装,然后使用 tfx-cli 登录。
使用 TFX 更新任务
- 下载并解压 Tasks_20230825.zip。
- 切换到解压缩后的文件所在的目录。
- 执行以下命令来上传任务:
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.226.2.zip
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.226.2.zip
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.226.2.zip
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.226.2.zip
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip
tfx build tasks upload --task-zip-path PowerShellV2.2.226.1.zip
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.226.2.zip
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.226.2.zip
管道要求
若要使用新行为,必须在使用受影响任务的管道中设置变量 AZP_75787_ENABLE_NEW_LOGIC = true
。
关于经典:
在管道中的变量选项卡上定义变量。
YAML 示例:
variables:
- name: AZP_75787_ENABLE_NEW_LOGIC
value: true
发布日期:2022 年 5 月 17 日
Team Foundation Server 2018 Update 3.2 补丁 17
我们为 Team Foundation Server 2018.3.2 发布了一个补丁,用于解决以下问题。
- 禁用用户的 Active Directory 帐户后,撤销所有个人访问令牌。
发布日期:2022 年 5 月 17 日
Team Foundation Server 2018 Update 3.2 补丁 17
我们为 Team Foundation Server 2018.3.2 发布了一个补丁,用于解决以下问题。
- 禁用用户的 Active Directory 帐户后,撤销所有个人访问令牌。
发布日期:2022 年 1 月 26 日
Team Foundation Server 2018 Update 3.2 补丁 16
我们为 Team Foundation Server 2018.3.2 发布了一个补丁,用于解决以下问题。
- 用户个人资料中的首选电子邮件地址未更新。 这导致电子邮件被发送到之前的邮箱地址。
- 通过从 log4j 二进制文件中删除 jndilookup 类来解决 Elasticsearch 漏洞。
安装步骤
- 使用补丁 16 升级服务器。
- 检查
HKLM:\Software\Elasticsearch\Version
的注册表值。 如果注册表值不存在,请添加一个字符串值,并将版本设置为 5.4.1 (Name = Version, Value = 5.4.1)。 - 请按照 Readme 文件中给出的说明运行 update 命令
PS C:\Program Files\{TFS Version Folder}\Search\zip> .\Configure-TFSSearch.ps1 -Operation update
。 它可能会返回类似于下面的警告:无法连接到远程服务器。 请勿关闭窗口,因为更新正在执行重试,直到完成。
注意
如果 Azure DevOps Server 和 Elasticsearch 安装在不同的计算机上,请按照下面概述的步骤进行操作。
- 使用补丁 16 升级服务器。
- 检查
HKLM:\Software\Elasticsearch\Version
的注册表值。 如果注册表值不存在,请添加一个字符串值,并将版本设置为 5.4.1 (Name = Version, Value = 5.4.1)。 - 将名为 zip 且位于
C:\Program Files\{TFS Version Folder}\Search\zip
中的文件夹的内容复制到 Elasticsearch 远程文件文件夹。 - 在 Elasticsearch 服务器计算机上运行
Configure-TFSSearch.ps1 -Operation update
。
SHA-256 哈希:37FB374CD05FC6C5A0552E0CD5296D5555755D58068BF6F4CF1F3DBE393853F1
发布日期:2021 年 4 月 13 日
Team Foundation Server 2018 Update 3.2 补丁 15
我们为 Team Foundation Server 2018.3.2 发布了一个补丁,用于解决以下问题。
- CVE-2021-27067:信息泄露
若要实现此补丁的修补,必须先安装 AzureResourceGroupDeployment 任务。
AzureResourceGroupDeployment 任务安装
注意
下面提及的所有步骤都需要在 Windows 计算机上执行
安装
将 AzureResourceGroupDeployment.zip 包提取到计算机上的新文件夹中。 例如 D:\tasks\AzureResourceGroupDeployment。
根据计算机的要求下载并安装 Node.js 14.15.1 和 npm(包含在 Node.js 下载项中)。
在管理员模式下打开命令提示符,并运行以下命令以安装 tfx-cli。
npm install -g tfx-cli
创建具有完全访问特权的个人访问令牌并复制它。 运行 tfx login 命令时将使用此个人访问令牌。
从命令提示符下运行以下命令。 出现提示时,输入服务 URL 和个人访问令牌。
~$ tfx login
Copyright Microsoft Corporation
> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully
- 运行以下命令,将任务上传到服务器。 使用从步骤 1 中提取的 .zip 文件的路径。
~$ tfx build tasks upload --task-path *<Path of the extracted package>*
发布日期:2020 年 12 月 8 日
Team Foundation Server 2018 Update 3.2 补丁 14
我们发布了 TFS 2018 Update 3.2 的安全补丁,可修复以下漏洞。
- CVE-2020-17145:Azure DevOps Server 和 Team Foundation Services 欺骗漏洞
有关详细信息,请参阅博客文章。
发布日期:2020 年 10 月 13 日
Team Foundation Server 2018 Update 3.2 补丁 13
我们发布了 TFS 2018 Update 3.2 的安全补丁,以从 2018 版服务器实现中删除 SHA1。 有关详细信息,请参阅博客文章。
发布日期:2019 年 9 月 10 日
Team Foundation Server 2018 Update 3.2 补丁 7
我们发布了 TFS 2018 Update 3.2 的安全修补程序,可修复以下 bug。 有关详细信息,请参阅博客文章。
- CVE-2019-1305:Repos 中的跨站点脚本编制 (XSS) 漏洞
- CVE-2019-1306:Wiki 中的远程代码执行漏洞
发布日期:2019 年 8 月 13 日
Team Foundation Server 2018 更新 3.2 补丁 6
我们发布了 TFS 2018 Update 3.2 的修补程序,可修复以下 bug。 有关详细信息,请参阅博客文章。
- 工作项跟踪仓库同步功能停止同步并出现错误:“TF221122:针对团队项目集合或 Team Foundation 服务器 ATE 的‘工作项跟踪仓库同步’作业运行时发生错误。 ---> System.Data.SqlClient.SqlException:无法创建补偿记录。 缺少历史数据。”
发布日期:2019 年 7 月 9 日
Team Foundation Server 2018 Update 3.2 补丁 5
我们发布了 TFS 2018 Update 3.2 的安全修补程序,可修复以下 bug。 有关详细信息,请参阅博客文章。
- CVE-2019-1072:工作项跟踪中的远程代码执行漏洞
- CVE-2019-1076:拉取请求中的跨站脚本 (XSS) 漏洞
发布日期:2019 年 5 月 14 日
Team Foundation Server 2018 更新 3.2 修补程序 4
我们发布了 TFS 2018 Update 3.2 的安全修补程序,可修复以下 bug。 有关详细信息,请参阅博客文章。
- CVE-2019-0872:Test Plans 中的跨站点脚本编制 (XSS) 漏洞
- CVE-2019-0971:Repos API 中的信息泄漏漏洞
- CVE-2019-0979:用户中心内的跨站点脚本编制 (XSS) 漏洞
发布日期:2019 年 4 月 9 日
Team Foundation Server 2018 Update 3.2 补丁 3
我们发布了 TFS 2018 Update 3.2 的安全修补程序,可修复以下 bug。 有关详细信息,请参阅博客文章。
- CVE-2019-0866:Pipelines 中的远程代码执行漏洞
- CVE-2019-0867:Pipelines 中的跨站点脚本编制 (XSS) 漏洞
- CVE-2019-0868:Pipelines 中的跨站点脚本编制 (XSS) 漏洞
- CVE-2019-0870:Pipelines 中的跨站点脚本编制 (XSS) 漏洞
- CVE-2019-0871:Pipelines 中的跨站点脚本编制 (XSS) 漏洞
发布日期:2019 年 3 月 12 日
Team Foundation Server 2018 Update 3.2 补丁 2
我们发布了 TFS 2018 Update 3.2 的安全修补程序,可修复以下 bug。 有关详细信息,请参阅博客文章。
- CVE-2019-0777:Pipelines 中的跨站点脚本编制 (XSS) 漏洞
发布日期:2019 年 2 月 12 日
Team Foundation Server 2018 Update 3.2 补丁 1
我们发布了 TFS 2018 Update 3.2 的安全修补程序,可修复以下 bug。 有关详细信息,请参阅博客文章。
- CVE-2019-0742:工作项中的跨站点脚本编制 (XSS) 漏洞
- CVE-2019-0743:拉取请求中的跨站脚本 (XSS) 漏洞
发布日期:2019 年 2 月 5 日
Team Foundation Server 2018 Update 3.2
我们已通过新版本更新了 Team Foundation Server 2018 Update 3.2,以解决客户在执行各种 Team Foundation 版本控制 (TFVC) 操作时可能遇到的错误,例如:跟踪变更集、查看历史记录或执行与分支相关的操作。 有关详细信息,请参阅博客文章。
发布日期:2019 年 1 月 14 日
Team Foundation Server 2018 Update 3.2
注意
TFS Database Import Service 目前不支持 TFS 2018 Update 3.2。 我们正在努力添加支持,但这可能需要长达两周的时间。 可在此处查看当前支持导入的版本的列表。
此版本包括针对以下 bug 的修补程序。 有关详细信息,请参阅博客文章。
- CVE-2019-0646:跨站点脚本编制 (XSS) 漏洞。
- CVE-2019-0647:任务组可能错误显示已标记为“机密”的变量。
- “TFS.WebApi.Exception:需要提供所有机密参数才可更改服务终结点 URL。 “请通过提供参数 Password 的值重试操作。”尝试更新 SonarQube 服务终结点时会发生此错误。
- 某些扩展导致用户中心出现空白。
- 在删除构建后,数据库大小仍然继续增长。
它还包括针对 Team Foundation 版本控制的性能改进。
发布日期:2018 年 11 月 5 日
Team Foundation Server 2018 Update 3.1
此版本包括针对跨站点脚本 (XSS) 漏洞的补丁。 建议升级到 TFS 2018 Update 3.1。 若已安装 TFS 2018 Update 3,则此修补程序包括安全修补程序。
发布日期:2018 年 9 月 12 日
TFS 2018 Update 3 中的新增功能摘要
Team Foundation Server 2018 Update 3 包含 Team Foundation Server 2018 的 Bug 修复。 包括以下方面的修复:
TFS 2018 Update 3 中修复的 bug 的详细信息
代码
- 执行代码审查时,Visual Studio 中出现“服务器出现问题”错误。
- 大型 TFVC 存储库在进行搜索索引时需要很长时间。 用户现在可以从索引排除文件夹,以此提高搜索速度。
- 对于文件数量较多的集合,代码搜索可能比较慢。
- 代码搜索作业失败时,将删除作业得出的数据,这将导致下一作业要重新开始搜索索引。
- 代码搜索异常地将下划线视为特殊字符。
- Git 客户端的安全修补程序自 TFS 2018 Update 2 起就已发布。 为了保护未经修补的 Git 客户端,我们将 TFS 2018 Update 3 更改为拒绝利用漏洞的推送。 有关详细信息,请参阅修复 2018 年 5 月的 Git 安全漏洞。
工作
- 积压工作页上缺少+图标。
- 未在所有旧版工作项 API 中设置“Name”和“DisplayName”属性。
- REST API 不支持使用 FileID 参数来设置附件 URL。
- 工作项资源和附件资源有时会返回项目范围内的 URL,这会破坏后向兼容性。
构建和发布
- 构建没有根据构建保留策略被删除。
- 删除生成时不会删除投放位置或符号。
- 如果构建编号格式字符串导致构建编号无效,则该构建将不会排队。
- 当你升级 TFS 时,生成任务版本会自动更新。
- XAML 生成中与多个生成定义有关的性能问题。
- 从 TFS 2017 迁移的生成定义会出现“definition.Repository.Mappings.Mapping.LocalPath”错误。
- 从“发布摘要”或“部署环境”中弹出到 Jira 项的链接无效。
- 以德语区域安装 TFS 时,部署的待审批通知未传递。
- 任务组的变量检测已开始将 Build.BinariesDirectory 识别为系统变量。
- 在向版本添加标记时,出现“无法在对象 'Release.tbl_TagString' 中插入具有唯一索引 'PK_tbl_TagString' 的重复键行”错误。
- 如果入口评估超过六个小时,则取消部署。
- TF400898 发生内部错误。 在发布定义中添加或编辑工件时,会出现“ActivityId”错误。
- Release.Reason 等发布变量可用于自定义阶段条件。
- 删除部署池时发生“锁定层次结构冲突”错误。
- 路径变量带有方括号时,发布作业失败。
- 更新部署脚本时,不会更新 Azure 虚拟机规模集。
- 具有“编辑发布定义”权限但没有“发布审批者”权限的用户尝试编辑定义时,不会保存发布定义。
- Azure 应用服务部署任务版本 3 现已可用。
测试
- 错误:“预期字符串结束。” 加载测试套件时出现的错误是由“<<->>”引起的。
- 单击“新建测试用例”按钮时,出现“参数超出范围”错误。
- 在将 bug 链接到测试结果后,其发布路径被错误更改。
- 即使测试标记为通过或失败,测试运行仍在进行中。
- 调用“更新测试结果 API”并多次传递相同的测试结果时,会从 SQL 引发主键冲突异常。
- 由于电子邮件大小限制,导出具有共享步骤的测试用例到电子邮件可能会失败。
- 在使用网格中的“添加新测试”功能时,从 Excel 粘贴的标题列会出现错误。
- 在“测试计划”网格视图中,共享步骤名称中的字符(例如“<”)没有被正确转义。
报告
- 如果文件夹已经存在,则 TFSConfig addProjectReports 不添加报表。
管理
- 如果 TFS 数据库托管在非企业版 SQL Server 2016 SP1 或更高版本上,在从 TFS 2012 或 2013 升级的过程中,有几个表未启用页压缩,这会对升级和运行时性能造成不利影响。
- 升级到 TFS 2018 时,会出现“更新 PR 合并服务挂钩订阅”错误。
- Configure-GvfsCacheServer.psm1 文件在 TFS 代理安装期间获得复制,即使文件不能用于配置代理。
- 运行 TFSConfig OfflineDetach 时发生“TF400856: 以下服务未在数据库中注册”错误。
- 在弹性搜索的节点配置中自动启用索引。
- 重新配置弹性搜索且其中有已过时的数据时,不会触发重新索引。
- 在大量作业失败的情况下,搜索索引器管道本身不进行节流,可能会导致资源消耗过高。
- 如果设置了 ES_JAVA_OPTS 环境变量,则弹性搜索服务安装失败。
- 删除集合时,不会删除集合级别的搜索记录。
- 过程模板编辑器会显示错误信息,例如“未找到请求的值‘MANAGE_TEST_SUITES’”。
- 在编辑工作流时,流程模板编辑器不正确地显示了某些标识中的集合名称。
- 在代码分支上设置服务挂钩时,分支在保存后将重新设置为 [Any]。
- 由于超时值较小而导致邮件传递错误。
- CVE-2018-8529:现在 TFS 和搜索服务之间的通信启用了基本授权,使其更加安全。 安装或升级到 Update 3 的任何用户在配置搜索时都需要提供用户名/密码(在远程搜索服务的情况下,安装搜索服务期间也需要提供)。
- 购买许可证或向扩展分配许可证时发生错误“用户没有扩展的许可证”。
反馈和建议
我们期待你的宝贵意见和建议! 可以通过开发者社区门户报告并跟踪问题,并能在 Stack Overflow 上了解相关建议。