在heroku中部署ember-cli + rails应用程序?

时间:2014-08-18 07:58:06

标签: ruby-on-rails heroku ember.js ember-cli

有人在Heroku中部署了一个像这样的ember-cli + rails应用程序吗? https://github.com/bostonember/website 如果是,您是如何部署的?

我知道ember-cli会在dist / dir中生成所有必需的代码,这些代码应放在(复制)rails下。公共/目录,但我不知道如何以及何时这样做,因为Heroku不允许在其文件系统中进行任何写访问。所以,如果有人已经这样做了,请告诉我:)。

我选择ember-cli而不是ember-rails gem的原因是我不想依赖任何轨道。宝石开发者。我认为只要我能在heroku中有效部署,ember-cli就是一个不错的选择:D

3 个答案:

答案 0 :(得分:12)

Dockyard在波士顿Ember聚会期间通过一个例子来解决这个问题。 Here's the video

他们在网上发布了代码,重要的部分是deploy task of the rakefile

task :deploy do
  sh 'git checkout production'
  sh 'git merge rails-served-html -m "Merging master for deployment"'
  sh 'rm -rf backend/public/assets'
  sh 'cd frontend && BROCCOLI_ENV=production broccoli build ../backend/public/assets && cd ..'

  unless `git status` =~ /nothing to commit, working directory clean/
    sh 'git add -A'
    sh 'git commit -m "Asset compilation for deployment"'
  end

  sh 'git subtree push -P backend heroku master'

  sh 'git checkout -'
end

基本上,您将distember-cli直接复制到Rails公共文件夹,然后使用子树将rails子文件夹作为rails应用程序部署到Heroku。我自己做了这件事,效果很好。

请注意,链接到@eXa的“Lightening fast deploymentments”博客文章中的方法最终会更好,因为您可以在不触及或重新部署Rails应用程序的情况下更改您的Ember应用程序。

答案 1 :(得分:4)

答案 2 :(得分:0)

https://github.com/tonycoco/heroku-buildpack-ember-cli用于您的Ember CLI应用程序,标准Rails应用程序部署用于Rails应用程序。