在Heroku上的postinstall步骤中将静态资产上载到S3

时间:2017-03-03 09:06:19

标签: node.js heroku amazon-s3

我正在尝试找出如何将静态资产上传到S3的最佳流程。

当前的解决方案通过我们的Heroku应用程序为我们的静态资产提供服务,该应用程序变得非常昂贵和缓慢我想将这些卸载到AWS。

我的设置是:

  1. Node.js应用程序生成名为static/的文件夹,需要在npm install步骤
  2. 期间在某处(例如S3)卸载
  3. CircleCI运行我们的持续集成,为Github上的请求提供绿灯。
  4. 我想在Heroku部署的postinstall脚本中上传资产(以确保我们将正确的标记哈希版本上传到S3)。

    这是个好主意吗?另外,我可以从Heroku package.json postinstall脚本调用AWS CLI吗?

1 个答案:

答案 0 :(得分:1)

更好的推荐方法是使用Amazon CloudFront。它从您的Web服务器读取静态资产并对其进行缓存,因此您不需要任何脚本来上载您的资产。您需要更改的唯一方法是将资产网址中的主机设置为云端分发。

您可以在此处详细了解https://devcenter.heroku.com/articles/using-amazon-cloudfront-cdn