TeamCity 2024.03 中的新功能
半自动安全更新
为了让您在预防和缓解安全问题方面领先于时代,TeamCity 2024.03 现在开始自动下载关键安全更新。 这种方法有助于使您的系统对新出现的风险保持强大的防御能力,并迅速解决主要漏洞。 请注意,系统在自动下载更新后,仍需要系统管理员批准其安装。
了解更多: 升级 TeamCity 服务器和代理。
新捆绑插件:HashiCorp Vault
HashiCorp Vault Support 插件现已成为标准 TeamCity 安装的重要组成部分。 这个插件允许您在远程源中存储敏感数据,并使 TeamCity 参数在构建过程中无缝地获取这些值。

要设置 TeamCity 与 HashiCorp Vault 的集成,请创建一个新的 Vault 连接,并使用它在 更新的“添加新参数”对话框中设置 远程密钥 参数。
了解更多: HashiCorp Vault 集成。
不受信任的构建
通过将 Pull Request 功能添加到您的配置中,您可以在将新代码集成到主代码库之前对其进行评估。 这个功能带有过滤选项,使您可以选择是否运行来自任何贡献者的构建,或仅运行那些与您的组织有关的构建。 前者的选择可能带来显著的安全风险,可能会使您的 TeamCity 服务器暴露给伪装在拉取请求中的恶意代码。 相反,选择后者将限制与更广泛的受众进行协作的机会。
2024.03 版本推出了一个新的设置,消除了合作与安全性之间的权衡。 项目设置下的新 不受信任的构建 组允许 TeamCity 区分由受信任用户创建的更改与来自外部来源的更改。 新的构建会被触发,无论更改的作者是谁,但是包含未经验证的更改的构建将会一直在队列中,直到一个指定的审查员(或者一个审查员组)标记它们为可以运行。

了解更多: 不受信任的构建。
新的 dotCover 运行器
新的 dotCover 运行器可以自动从多个前置 .NET 步骤中检索代码覆盖率快照,并使用这些单独的快照发布单一的覆盖率报告。

了解更多: dotCover。
.NET 测试失败的自动重试
如果 .NET 运行器执行 test 或 vstest 命令,运行器的设置现在会显示新的 测试重试次数 选项。 此字段允许您指定在同一构建中 TeamCity 可以重新运行失败测试的次数。 失败的测试将重新启动,直到它们成功或达到最大尝试次数。

这种技术可以让您识别 flaky tests ,并将它们与真正有问题的、无论尝试执行多少次都会一直失败的测试区分开来。
了解更多: .NET | Vstest Command。
Gradle 配置缓存
从这个版本开始,您可以在 TeamCity 中运行的 Gradle 构建中启用 配置缓存 功能。 此功能通过缓存配置阶段的结果并在后续构建中重用,极大地提升了构建性能。
了解更多: 配置缓存。
可选的 Artifact 依赖
构件依赖性 让您的构建配置能够下载其他配置(或同一配置的先前构建)生成的文件。 为了创建这些依赖项,您需要指定 构建工件规则 来定义应下载哪些文件以及应将它们存储在何处。
如果 TeamCity 无法定位符合这些规则的文件,构建将以 "无法解析构件依赖" 错误失败。 这种行为并未考虑到更灵活的设置,其中下载的工件并不是运行依赖构建的必要条件。
从2024.03版本开始,即使其制品规则没有产生任何文件,您也可以运行依赖构建。 为此,请以 ?: 前缀开始一个工件规则。

了解更多: Artifact Dependencies
增强的 Git LFS 和 Submodules 支持
大型文件系统 和 子模块 是许多复杂软件解决方案的组成部分,这些方案导入独立仓库并将大型文件(视频、位图、数据库等)卸载到外部托管。 在 2024.03 版本中,您可以为您的 TeamCity 项目添加基于 参数 的凭据。 在检出源文件时,TeamCity 将使用这些凭证来访问并下载所需文件。 这个功能允许您设置 TeamCity 与 Sonatype Nexus LFS repositories 以及其他热门解决方案的集成。
了解更多: LFS 和 Submodules 支持。
新参数对话框
在 2024.03 版本中,我们重新设计了 添加/编辑参数 对话框,您在配置 构建参数时会用到它。

除了其他显著的改进外,更新的对话框还允许您选择一种新的参数类型——远程密钥。 选择此类型的参数,其值应从远程源(例如,HashiCorp Vault)中检索。
了解更多: 创建并设置自定义参数。
备选 Fetch URLs
在 TeamCity 2024.03 中,构建代理现在可以从预配置的存储库代理获取源代码,该代理镜像您的原始 Git 仓库。 对于大型分布式系统来说,这种功能尤其有价值,可以缓解远离主要仓库的代理的连接问题。
获取 URL 映射规则,这些规则在代理配置文件中定义,为每个代理的签出过程提供了细粒度的控制。 此外,重定向规则中的通配符和部分 URL 支持使得创建通用、不依赖项目的映射模式成为可能。
了解更多: Git VCS 根目录 | 一般设置。
杂项更改
现在, Open Terminal 按钮会在 checkout directory 中打开终端。 如果从代理概览页面调用,终端仍然会在
$HOME目录中打开。新的 提交状态发布器 设置允许您选择是否希望在构建完成时,让 TeamCity 发布 Swarm 评审评论。 如果禁用此选项,构建功能将仅更新评审的 测试 部分。
参数 | 统计值 部分的 复合构建现在包括一个额外的指标,该指标显示通过 重用以前的构建而不是重新运行它们,此构建节省了多少时间。
升级说明
在升级之前,我们强烈建议阅读有关版本 2023.11 与 2023.05.4 之间重要变化的内容。
已修复的问题
请查看 TeamCity 2023.11 发行说明 文章,以获取已实施功能和已修复问题的摘要。
路线图
参阅 TeamCity 路线图 ,了解未来的更新。
您的反馈至关重要
我们非常重视您的反馈,鼓励您分享您的想法和建议。 请查看此链接获取更多信息: 反馈。