有人在Heroku中部署了一个像这样的ember-cli + rails应用程序吗? https://github.com/bostonember/website 如果是,您是如何部署的?
我知道ember-cli会在dist / dir中生成所有必需的代码,这些代码应放在(复制)rails下。公共/目录,但我不知道如何以及何时这样做,因为Heroku不允许在其文件系统中进行任何写访问。所以,如果有人已经这样做了,请告诉我:)。
我选择ember-cli而不是ember-rails gem的原因是我不想依赖任何轨道。宝石开发者。我认为只要我能在heroku中有效部署,ember-cli就是一个不错的选择:D
答案 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
基本上,您将dist
从ember-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应用程序。