【发布时间】:2014-04-03 13:25:59
【问题描述】:
我正处于尝试将 Rails 应用程序部署到 EB 的临界点。由于依赖原因,我无法使用 heroku,所以我正在尝试 AWS。网上的 ruby/rails 教程在搭建环境方面都很清楚,但是遇到了很多挑战,此时我开始觉得是亚马逊的服务,而不是我的配置。
假设我从一些非常简单的事情开始,我运行
rails new
我从一个准系统 Rails 应用程序开始,然后添加必要的路由和 index.html.erb 文件来打招呼。我跑
git init && git add . && git commit -m "hello world"
eb init
我完成了必要的步骤,我尝试使用 ruby 1.9.3 创建一个 32 位和 64 位的 ubuntu 实例(这是我的本地环境设置的),我没有设置 RDS,然后运行
eb start
这提示我部署我最新的 git 提交,我说是,它就部署了!
好消息?没那么多,是的,EB 给出的我的 url 确实说 Hello World,但是如果在任何时候我尝试部署新代码,让我们说对 gemfile 进行更改,并且在构建我的 gemfile 时出错.. 环境完全阻塞我到了那个地步。
- 我无法访问任何日志,如果我尝试,环境会进入灰色状态并重新启动
- 我无法重新部署任何以前的 git 提交,环境只花费了 10 分钟并超时
每次代码中出现轻微错误时,我都不得不重新构建整个环境,这让我感到很沮丧。
一般来说,我正在寻找一种替代 heroku 的方法,我可以通过它从命令行部署更改。我认为我的问题的措辞不够好,以至于任何人都无法准确地发现我做错了什么——如果我什至做错了什么。如果有任何部署到 EB 的最佳实践。请告诉我。谢谢!
【问题讨论】:
-
你能发布你用来部署更新代码的命令吗?
-
您是否将 openshift.com 视为 heroku 的替代品?
标签: ruby-on-rails amazon-web-services amazon-ec2 amazon-elastic-beanstalk