【问题标题】:Is there any way to cache build dependencies using AWS CodeBuild?有没有办法使用 AWS CodeBuild 缓存构建依赖项?
【发布时间】:2017-12-08 00:06:52
【问题描述】:

在我的 AWS CodeBuilds 中,有 1 到 2 分钟用于从 Maven Central 下载依赖项。

没有构建一个预先配置好的 Docker 容器,有没有办法在构建之间缓存这些?

【问题讨论】:

  • 我认为创建一个 docker 镜像是做你正在寻找的事情的预期方式。对于大多数构建,您实际上只需要一个 Dockerfile,它基本上可以完成您的“安装”阶段所做的工作,然后您就完成了。

标签: maven amazon-web-services gradle aws-codebuild


【解决方案1】:

CodeBuild 现在provides a cache feature 可用于预加载依赖项。

【讨论】:

    【解决方案2】:

    未签名的答案很好,但有点过时了。截至 2019 年 2 月,CodeBuild 允许在 S3 存储桶中缓存并允许用户在本地缓存。您现在可以在构建的 3 个不同层指定缓存:

    • Docker 层缓存
    • Git 层缓存(缓存最后一个构建,然后仅从 git diff 构建)
    • 自定义缓存 - 在 buildspec.yml 文件的 cache: 部分中指定。就我个人而言,我将 node_modules/ 缓存在这里,然后缓存在 Git 层。

    来源:https://aws.amazon.com/blogs/devops/improve-build-performance-and-save-time-using-local-caching-in-aws-codebuild/

    【讨论】:

    • 能否指定当源是codepipeline而不是GitHub时如何在S3中缓存
    猜你喜欢
    • 2019-09-03
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 2020-01-02
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    相关资源
    最近更新 更多