TeamCity On-Premises 2025.03 Help

构建工件

构建工件是由构建产生的文件。 通常,这些包括分发包,WAR 文件,报告,日志文件等等。 在创建构建配置时,您需要在 配置常规设置 页面指定构建工件的路径。

构建工件存储

TeamCity 包含一个集成的轻量级构建工件仓库。 艺术品要么储存在 服务器可访问的文件系统 上,要么储存在 外部存储设备 上。

在构建完成后,TeamCity 会根据指定的 工件路径或路径模式在构建 签出目录中搜索工件。 匹配的文件然后会被上传("发布")到 TeamCity 服务器,通过网络用户界面可以下载这些文件,或者可以在其他构建中使用 工件依赖项。 您可以 选择何时发布构件 :适用于所有已完成的构建,仅适用于成功的构建,或适用于所有构建,甚至是中断的构建。

要下载构建的工件,请转到构建结果页面的 Artifacts 选项卡,或使用项目或构建配置 概述 页面以及列出构建的 TeamCity 页面上提供的工件图标 artifactIcon.png

在内置存储的情况下,TeamCity 将构件保存在磁盘上的一个目录结构中,可以直接访问(例如,通过配置操作系统在网络上共享该目录)。 存储格式在 TeamCity 数据目录中有所描述。 艺术品存储在服务器上,"原样"保留,无需额外压缩。 默认情况下,工件存储在 <TeamCity Data Directory>/system/artifacts 目录下,该目录 可以更改
您可以 配置外部工件 存储以替换内置存储。

构建工件可以在构建仍在运行时上传到服务器。 为了指导 TeamCity 上传工件,应修改构建脚本以发送 服务消息

您可以通过 REST API 自动化下载工件。

隐藏的工件

除了用户定义的构建工件之外,TeamCity 也会为内部目的生成并发布一些 隐藏的构建工件
例如,对于 Maven 构建,TeamCity 会创建一个包含构建过程中收集的 Maven 特定数据的 maven-build-info.xml 文件。 文件的内容随后被用来在构建结果中的 Maven 构建信息选项卡上展示 Maven 数据。

TeamCity 在工件根目录的 .teamcity 目录中存储隐藏的工件。

工件 依赖关系 不会考虑隐藏的 artifacts,除非它们在其模式中明确指定了 .teamcity

除非在清理范围中明确指定了 .teamcity ,否则清理构建工件不会删除隐藏的构建工件。

隐藏工件的示例:

  • maven-build-info.xml.gz — Maven 构建数据。 用于在 Maven 构建信息 选项卡上显示数据。

  • 属性 目录 - 存储在代理上为构建计算的属性。 构建前后,有一些实际的属性存在。 这些显示在构建结果的 属性 选项卡上。

  • .NETCoverage — 原始的 .NET 覆盖数据(例如,用于在 VS 插件中打开 dotCover 数据)。

  • coverage_idea — 原始的 IntelliJ IDEA 覆盖率数据(例如,用于在 IDEA 中打开覆盖率)。

检索隐藏的工件

隐藏的工件默认不会显示在 工件 选项卡上。 如果当前构建中有任何隐藏工件,您可以通过单击 显示隐藏的工件 来显示它们。

要浏览或单独下载构建结果,请使用构建结果的树状结构。 要下载整个 .teamcity 目录,请单击屏幕右侧的 下载所有(.zip)

隐藏工件

要隐藏一个工件,您需要将其发布在 .teamcity 目录下。

在 代理上的 工件缓存

由构建发布的所有工件均存储在 <构建代理主目录>\system\.artifacts_cache 的代理的工件缓存中,这在某些情况下有助于加快工件依赖性的速度。
然而,取决于工件的大小, 清理以及其他设置,工件缓存可能会导致代理上的磁盘空间不足。 您可以 配置将发布的工件存储在代理缓存中。

构建工件视频指南

最后修改日期: 2025年 3月 21日