导轨,载波和环境

时间:2018-02-21 10:35:40

标签: ruby-on-rails carrierwave

进行开发,可能是分段和生产环境会对存储在S3上的文件造成严重破坏,可能会造成覆盖。

为文件名添加时间戳是可能的,但考虑的实例并不是在尝试该路由。相反,目标是附加一种形式的后缀来区分开发和登台记录(以及相关文件),以便可以保存和提供所有内容。

实现这一目标最明智的方法是什么?

1 个答案:

答案 0 :(得分:2)

最简单的选择是为不同的环境使用不同的存储桶。想一想app-developmentapp-production。理想情况下,对不同的存储桶施加限制,并且访问仅限于某些密钥。这可以确保例如只有生产服务器可以销毁生产存储桶中的对象。

可以通过环境变量,初始化程序或每个环境设置要使用的存储桶。

更进一步的做法是针对不同的环境使用不同的AWS账户,但这是否有意义取决于您的组织和您在AWS上使用的资源。我会说它只是S3的过度杀伤力。但是,如果您对此感兴趣,这是一篇简短的文章,解释了背后的概念及其原因:Separate AWS Production and Development Accounts