Team Foundation Server 2018 Update 3 发行说明
开发者社区 | 系统要求和兼容性 | 许可条款 | 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 升级矩阵](media/upgradematrix.png?view=azure-devops)
重要
不必先升级到 TFS 2018 RTM,再升级到 TFS 2018 Update 3。
发布日期:2023 年 11 月 14 日
Team Foundation Server 2018 Update 3.2 Patch 19
我们发布了 Team Foundation Server 2018 Update 3.2 的修补程序,其中包括以下修补程序。
- 扩展了 PowerShell 任务允许对 Enable shell 任务参数参数验证的字符列表。
注意
若要实现此修补程序的修补程序,必须执行许多步骤来手动更新任务。
安装修补程序
重要
我们发布了 Azure Pipelines 代理的更新,修补程序 18 于 2023 年 9 月 12 日发布。 如果未按照修补程序 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)。 - 按照自述文件中的说明运行 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 Update 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 Update 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 链接到测试结果后,错误地更改了 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 上了解相关建议。