【问题标题】:Workflow for updating assets on Amazon S3 and CloudFront在 Amazon S3 和 CloudFront 上更新资产的工作流程
【发布时间】:2015-12-10 21:51:56
【问题描述】:

我正在尝试构建一个工作流来更新 S3 存储桶上的文件并在 Cloudfront 上使它们无效,以便将其从缓存中删除。

这些文件由 JS、CSS、图像、媒体等组成。我正在使用 grunt 来缩小它们。

这是我认为理想的场景:

  1. 在最新的代码库上运行 grunt 以准备分发;
  2. 使用 aws 客户端工具将步骤 1 中的新文件上传到 S3;
  3. 使用 aws 客户端工具使 Cloudfront 上的这些新文件无效。

我面临的问题是,在第 1 步中,缩小文件的时间戳都比 S3 上的时间戳更新,因此当我运行 aws s3 sync 时,它会尝试将所有文​​件上传回 S3。我只想上传修改后的文件。

我也愿意接受有关更改整个工作流程的建议。有什么建议吗?

【问题讨论】:

    标签: amazon-web-services amazon-s3 gruntjs


    【解决方案1】:

    s3cmd 将能够解决仅上传那些已修改的文件的问题。它不是检查时间戳更改,而是检查内容更改(在内部它为每个文件分配 MD5 哈希,然后检查文件的本地版本与 S3 中存在的文件,仅上传那些 MD5 哈希不匹配的文件)

    它有 many command line options 包括使从 CloudFront 分发中上传的文件无效的选项

    【讨论】:

    • 非常感谢,这正是我所需要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 2016-11-01
    • 1970-01-01
    • 2012-05-01
    • 2013-02-06
    • 2014-05-09
    • 2014-09-29
    相关资源
    最近更新 更多