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 版本推出了一个新的设置,消除了合作与安全性之间的权衡。 新的 Untrusted Builds 组位于项目设置下,让 TeamCity 能区分由受信任用户编写的更改和来自外部来源的更改。 新的构建会被触发,无论更改的作者是谁,但是包含未经验证的更改的构建将会一直在队列中,直到一个指定的审查员(或者一个审查员组)标记它们为可以运行。
了解更多:不受信任的构建。
新的 dotCover 运行器
新的 dotCover 运行器可以自动从多个先前的 .NET 步骤中获取代码覆盖率快照,并使用这些单独的快照来发布一个单独的覆盖率报告。
了解更多:dotCover。
.NET 测试失败的自动重试
如果 .NET 运行器执行了 test
或 vstest
命令,那么运行器的设置现在会显示新的 测试重试次数 选项。 此字段允许您指定在同一构建中 TeamCity 可以重新运行失败测试的次数。 失败的测试将重新启动,直到它们成功或达到最大尝试次数。
这种技术可以让您识别 flaky tests,并将它们与真正有问题的、无论尝试执行多少次都会一直失败的测试区分开来。
了解更多:.NET | Vstest Command。
Gradle 配置缓存
从这个版本开始,您可以在 TeamCity 中运行的 Gradle 构建中启用 配置缓存 功能。 此功能通过缓存配置阶段的结果并在后续构建中重用,极大地提升了构建性能。
了解更多:配置缓存。
可选的 Artifact 依赖
构件依赖性 让您的构建配置能够下载其他配置(或同一配置的先前构建)生成的文件。 为了创建这些依赖项,您需要指定 构建工件规则 来定义应下载哪些文件以及应将它们存储在何处。
如果 TeamCity 无法定位符合这些规则的文件,构建将以 "无法解析构件依赖" 错误失败。 这种行为并未考虑到更灵活的设置,其中下载的工件并不是运行依赖构建的必要条件。
从2024.03版本开始,即使其制品规则没有产生任何文件,您也可以运行依赖构建。 为此,请以 ?:
前缀开始一个工件规则。
增强的 Git LFS 和 Submodules 支持
大型文件系统 和 子模块 是许多复杂软件解决方案的组成部分,这些方案导入独立仓库并将大型文件(视频、位图、数据库等)卸载到外部托管。 在 2024.03 版本中,您可以为您的 TeamCity 项目添加基于 参数 的凭据。 在检出源文件时,TeamCity 将使用这些凭证来访问并下载所需文件。 这个功能允许您设置 TeamCity 与 Sonatype Nexus LFS repositories 以及其他热门解决方案的集成。
了解更多:LFS 和 Submodules 支持。
新参数对话框
在2024.03版本中,我们重新设计了您在配置 构建参数时使用的 添加/编辑参数对话框。
除了其他显著的增强功能外,更新后的对话框允许您选择新的参数类型 ——Remote secret。 选择此类型的参数,其值应从远程源(例如,HashiCorp Vault)中检索。
了解更多:创建并设置自定义参数。
备选 Fetch URLs
在 TeamCity 2024.03 中,构建代理现在可以从预配置的存储库代理获取源代码,该代理镜像您的原始 Git 仓库。 对于大型分布式系统来说,这种功能尤其有价值,可以缓解远离主要仓库的代理的连接问题。
获取 URL 映射规则,这些规则在代理配置文件中定义,为每个代理的签出过程提供了细粒度的控制。 此外,重定向规则中的通配符和部分 URL 支持使得创建通用、不依赖项目的映射模式成为可能。
了解更多:Git VCS 根目录 | 一般设置。
杂项更改
现在,Open Terminal 按钮会在 checkout directory 中打开终端。 如果从代理概览页面调用,终端仍然会在
$HOME
目录中打开。新的 提交状态发布器 设置允许您选择是否希望在构建完成时,让 TeamCity 发布 Swarm 评审评论。 如果此选项被禁用,构建功能将只更新审查的 Tests 部分。
参数 | 统计值 部分的 复合构建 现在包括一个额外的指标,该指标显示通过 复用之前的构建 而非重新运行它们,此构建节省了多少时间。
升级说明
在升级之前,我们强烈建议您阅读有关版本 2024.03 相比 2023.11 中重要变化的信息。
已修复的问题
请查看 TeamCity 2024.03 发布说明 文章,了解已实施功能和已修复问题的总结。
路线图
参阅 TeamCity 路线图,了解未来的更新。
您的反馈至关重要
我们非常重视您的反馈,鼓励您分享您的想法和建议。 请查看此链接获取更多信息:反馈。