如何解决为什么 AWS Codebuild Local - Custom Cache 不缓存文件?
我正在尝试使用 AWS Codebuild - 本地自定义缓存。我无法执行在构建之间缓存文件的最简单任务。此处说明:AWS CodeBuild local cache failing to actually cache? 对我不起作用。
这是我的 buildspec.yml
version: 0.2
phases:
pre_build:
commands:
- CACHE_DIR='docker-img-cache'
- CACHED_FILE='docker-img-cache/test.md'
build:
commands:
- ls $CACHE_DIR
- ls -sh $CACHED_FILE || true
# If file exist,print its content and size
- if [ -f $CACHED_FILE ]; then echo "File is in cache"; ls -sh $CACHED_FILE; fi
# Else create file,print its size
- if ! [ -f $CACHED_FILE ]; then echo "Hello cache world" > $CACHED_FILE; echo "File created"; ls -sh $CACHED_FILE; fi
- ls $CACHE_DIR
cache:
paths:
- 'docker-img-cache'
只有目录被缓存,里面没有文件。我已经尝试过使用 '/*
'/**/*'
后缀。
如果您自己尝试,您将能够看到在每次构建时都创建了该文件。但是目录存在。
解决方法
请验证您是否启用了自定义缓存模式
在构建项目配置中,在 Artifacts 下,展开 Additional Configuration。对于缓存类型,选择本地。
,似乎是 AWS CodeBuild local cache failing to actually cache? 的副本,因此将其标记。
总结前面的问题,在 CodeBuild 中使用本地缓存没有好的解决方案(参见 comment 链接到另一篇文章,表明本地缓存非常不可预测),因此切换到 S3 缓存。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。