在Heroku上部署Ember-cli + Rails应用程序?

8
有人在Heroku上部署过类似这个https://github.com/bostonember/website的ember-cli + rails应用程序吗?如果是,你是如何部署的?
我知道ember-cli会在dist/目录下生成所有必要的代码,该目录应被放置(复制)在rails的public/目录下,但考虑到Heroku不允许在其文件系统中进行任何写操作,我不确定如何以及何时进行该操作。因此,如果已经有人这样做了,请告诉我:)
我选择ember-cli而不是ember-rails gem的原因是我不想依赖于任何rails gem开发者。只要我能够在Heroku上高效地部署,我认为ember-cli是一个不错的选择:D
3个回答

12

Dockyard在波士顿Ember meetup期间演示了一个例子。 视频在这里

他们在线发布了代码,重要部分是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

基本上,你需要将来自ember-clidist直接复制到Rails公共文件夹中,然后使用子树将rails子文件夹部署为Heroku上的rails应用程序。我自己已经做过这个,效果很好。
请注意,“Lightening fast deployments”博客文章中提到的方法最终更好,因为您可以在不触及或重新部署Rails应用程序的情况下更改Ember应用程序。

既然你已经做过这个并且它对你有效,你介意检查一下为什么同样的方法对我不起作用吗:http://stackoverflow.com/questions/27209549/ember-cli-deployment-with-rails-on-heroku。谢谢。 - brg

4

嗨!谢谢你的回答。我已经看到了那个。但是它需要一个S3存储(从中检索您的EmberJS缩小文件)。我想在我在Rails或Ember端更改和提交任何内容时立即将更改推送到Heroku。 - vasilakisfil
3
那么你可以尝试他的第一个想法: http://blog.abuiles.com/blog/2014/05/21/deploying-ember-cli-and-rails-to-heroku/ - eXa

0

我真的很喜欢你的构建包@tonycoco,但这是否意味着要运行两个dynos?从控制可扩展性的角度来看,这可能不是件坏事,但也会增加成本。 - Zac Charles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接