在 AWS CodeBuild 中使用本地缓存的时间有限?

Posted

技术标签:

【中文标题】在 AWS CodeBuild 中使用本地缓存的时间有限?【英文标题】:Limited time when using local cache in AWS CodeBuild? 【发布时间】:2019-11-04 17:58:44 【问题描述】:

我正在尝试在 AWS CodeBuild 中使用 Docker 层缓存。我在使用它时看到了效果,可以减少构建或拉取Docker镜像的时间,但我发现它只能在一定的时间段内(大约不到1小时)使用本地缓存。我还没有看到任何关于此的文件。

我在哪里弄糊涂了,或者我有办法设置缓存存储时间吗?

Build caching in CodeBuild

【问题讨论】:

【参考方案1】:

本地缓存模式是最好的。它们在构建完成后的有限时间内可用。工件的 S3 缓存选项更持久,但它们可能不太适合 Docker 层。我们没有相关文件,因为您的里程可能会有所不同。

如果您运行稀疏构建,您不太可能看到 Docker 层的本地缓存带来的好处。您可以改为从您的构建容器中保存和恢复 Amazon ECR 中的层:https://github.com/aws/aws-codebuild-docker-images/issues/26#issuecomment-370177343。

在未来的版本中,我们将允许您选择在 ECR 注册表中备份层。

【讨论】:

嗨,苏斌。本地缓存的 TTL 似乎没有记录在任何地方。人们已经注意到这个问题,因为工程师不理解/不期望这种行为 (***.com/a/59070807/4985580)。也许它可以添加到文档中?

以上是关于在 AWS CodeBuild 中使用本地缓存的时间有限?的主要内容,如果未能解决你的问题,请参考以下文章

AWS CodeBuild 不适用于 Yarn 工作区

Puppeteer 无法在 AWS CodeBuild 上运行 Chrome

使用 AWS CDK 创建用于构建 Docker 映像的 CodeBuild 项目

无法在 AWS CodeBuild 映像中使用 amazon-linux-extras

AWS codeBuild 不运行 .ebextension 配置

AWS Batch 与 AWS CodeBuild