TeamCity On-Premises 2024.12 Help

Build Artifact(构建工件)

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

构建工件存储

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

在构建完成后,TeamCity 会根据指定的 工件路径或路径模式在构建 签出目录中搜索工件。 匹配的文件随后会上传(“发布”)到 TeamCity 服务器,在那里它们可以通过 Web UI 下载,或者可以在其他构建中使用 artifact dependencies。 您可以 选择何时发布构件 :适用于所有已完成的构建,仅适用于成功的构建,或适用于所有构建,甚至是中断的构建。

要下载构建的工件,请转到构建结果页面的 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 目录下。

在 代理上的 工件缓存

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

构建工件视频指南

最后修改日期: 2025年 4月 8日