TeamCity On-Premises 2024.03 Help

Build Artifact(构建工件)

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

构建工件存储

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

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

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

在内置存储的情况下,TeamCity 将构件保存在磁盘上的一个目录结构中,可以直接访问(例如,通过配置操作系统在网络上共享该目录)。 存储格式在 TeamCity 数据目录中有所描述。 艺术品存储在服务器上,"原样"保留,无需额外压缩。 默认情况下,构建工件存储在 <TeamCity 数据目录\>/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 Build Info 标签页上显示数据。

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

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

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

检索隐藏的工件

默认情况下,隐藏的工件不会在 Artifacts 标签页上显示。 如果当前构建中存在任何这样的内容,您可以通过点击 显示隐藏的构建工件 来查看它们。

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

隐藏工件

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

在 代理上的 工件缓存

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

构建工件视频指南

最后修改日期: 16日 7月 2024年