构建缓存
构建缓存"功能允许构建配置发布在构建运行期间产生的特定文件(例如,下载的 npm 包或 Maven 本地仓库工件)。 发布的缓存可以在同一配置发布的后续构建中被重用,或者其他配置也可以重用。 这种技术优化并加速了构建程序。
常见信息
缓存发布者和消费者
您可以设置 Build Cache 功能以在两种模式中的任意一种中运行。
初始构建缓存设置允许该功能下载在之前的构建中由相同功能发布的缓存。
或者,您可以设置一个 Build Cache 功能以发布缓存,然后从另一个 Build Cache(来自不同的构建配置)下载它。 这种模式允许您设置“发布者”和“消费者”功能,以在不同的构建配置之间交换缓存。 缓存 consumer 功能的数量没有限制,但它们应属于 相同项目 作为缓存 publisher。
尺寸限制
缓存被发布为 隐藏的工件 ,位于 .teamcity.build_cache 文件夹下。 要查看已发布的缓存,请点击 显示隐藏的工件 链接,位于 制品标签页。

由于缓存是作为工件发布的,因此它们会受到 最大构建工件文件大小 设置的影响,您可以在 Administration | Global Settings 页面上进行设置。
运算顺序
如果构建配置被设置为上传缓存,那么它会按照以下顺序排列其构建阶段:
解决工件依赖性问题
检出源代码
下载缓存
启动构建
在同一构建配置中发布和使用缓存
这个部分将会演示如何设置 Build Cache 功能,该功能允许构建配置重用其自身之前构建的缓存。
将构建功能添加到构建配置中,并为 Cache Name指定一个唯一的名称。
由于我们希望该功能既发布又使用缓存,请保持 发布 和 使用缓存 设置均启用。
指定应被缓存的文件和文件夹的路径。 每个路径应从新的一行开始。 不支持通配符。 相对路径是相对于检出目录解析的。
例如,要缓存由
npm install或yarn install命令下载的 NodeJS 包,请在此字段中键入node_modules/。默认情况下,如果新构建的缓存与之前构建发布的缓存相同,则不会发布缓存。 如果您希望每个构建都上传缓存,取消选中 只有在改变时发布 设置。
保存设置。 该功能在 构建功能 页面上的描述应说明它发布并使用相同的缓存。

运行构建并确保所有缓存文件都在构建结果页面上以 ".teamcity.build_cache" 隐藏工件的形式可用。
为确认在之前的运行中发布的缓存是否被使用,再次运行构建,并检查构建日志中的相应消息。
在不同的构建配置之间交换缓存
在此设置中,“发布者”Build Cache 功能添加到一个构建配置中,发布其缓存,而“消费者”Build Cache 功能添加到另一个配置中,下载这个缓存。 下载的缓存被放置在与 publisher 的 发布规则 路径匹配的相同位置。
只要您为属于同一项目的配置添加了功能,您就可以根据需要设置尽可能多的发布者和消费者功能。
设置发布者
将构建功能添加到构建配置中,并为 Cache Name指定一个唯一的名称。
指定应被缓存的文件和文件夹的路径。 每个路径应从新的一行开始。 不支持通配符。 相对路径是相对于检出目录解析的。
例如,要缓存由
npm install或yarn install命令下载的 NodeJS 包,请在此字段中键入node_modules/。默认情况下,如果新构建的缓存与之前构建发布的缓存相同,则不会发布缓存。 如果您希望每个构建都上传缓存,取消选中 只有在改变时发布 设置。
取消选中 使用缓存 复选框。
保存设置。 该功能在 构建功能 页面上的描述应说明它仅发布缓存。

运行构建并确保所有缓存文件都在构建结果页面上以 ".teamcity.build_cache" 隐藏工件的形式可用。
设置消费者
将构建功能添加 到构建配置,并指定 publisher 功能使用的相同 缓存名称。
取消选中 发布 复选框。
保存设置。 该功能在 构建功能 页面上的描述应说明它仅使用缓存。

运行一个新的构建,并检查构建日志以确保需要的缓存文件已经下载。
对于需要此发布缓存的每一个构建配置,请重复以上步骤。