【发布时间】:2016-10-05 19:18:00
【问题描述】:
我已经使用 Heroku Pipelines 设置了一个 Rails 应用程序,以便能够自动将我们的暂存环境提升到生产环境。 master push -> CI run -> staging deploy -> production Promotion的工作流程对我们来说非常有效。
我们的资产通过 Amazon Cloudfront 分发。我为我在环境中配置的暂存环境和生产环境设置了单独的发行版:
# Environment variable configured per environment
config.action_controller.asset_host = ENV['ASSET_HOST']
这个设置会出现一个问题。即使我为每个环境配置了asset_host,资产也会在暂存环境中进行预编译,并且——当使用 Heroku Pipelines 进行推广时——也将在生产中使用。这会导致我们的自定义字体 CORS 出现问题。
我想过为多个来源配置单个 Cloudfront 分发,但无法解决。另外,我真的很想保留我们当前的工作流程,因为它为我们启用了 CD。
【问题讨论】:
-
我的情况完全相同,在 Rails 应用程序和 webpack 应用程序上。在促销期间努力寻找重建蛞蝓的方法......
标签: ruby-on-rails heroku amazon-cloudfront