流水线缓存

流水线构建过程中,通过缓存依赖和中间产物,可以显著减少构建时间和提高效率。流水线在云平台的多个构建节点上运行,默认每个仓库的流水线分配到固定的3个节点,缓存包括代码和项目依赖、构建缓存等文件。通过构建Docker缓存镜像,可以实现跨节点共享同一份缓存 。

流水线构建过程中,往往会有很多依赖或者中间产物,通过将这些依赖或者中间产物,缓存起来,供下次流水线使用。往往可以极大的减少构建时间,提高构建效率。

节点缓存

流水线是会跑在云平台上多个构建节点上的,为了平衡单点故障问题和缓存命中率,默认情况下,每个仓库的流水线,会分配到固定的3个节点上跑。(随着仓库流水线资源使用情况,也会动态增加节点数)

:::tip 固定的3个节点也是相对的,随着整个云平台节点扩缩容, 也可能会分配到另外的3个节点上 :::

代码缓存

流水线执行时,会自动拉取代码文件到构建节点上,同时也会将代码缓存到构建节点。供下次流水线使用。

文件缓存

构建过程中,可以把一些项目依赖构建缓存 等文件,缓存到构建节点上。供下次流水线使用。

配置方式参考:pipeline.runner.volumes

:::tip 依赖基于 OverlayFS 的缓存瞬间复制技术, 可以实现高并发复用缓存。 :::

跨节点缓存

为了实现每个构建节点都使用同一份缓存,可以将需要缓存的内容构建成 Docker缓存镜像。

具体方法参考内置任务:docker:cache