简体   繁体   中英

Many problems with deploying a rails application to Elastic Beanstalk

I'm at a breaking point with trying to get a rails application deployed to EB. I cannot user heroku for dependency reasons so I'm trying out AWS. The ruby/rails tutorials online all are very clear in setting up an environment, but I am met with many challenges, and at this point I'm starting to think it's because of Amazon's service and not my configuration.

Lets say I start with something very simple, I run

rails new

I start of with a barebones rails app, and I add the necessary routes and index.html.erb file to say hello word. I run

git init && git add . && git commit -m "hello world" 
eb init

I run through the necessary steps, I've tried creating a 32 and 64 bit ubuntu instances with ruby 1.9.3 (Which is what my local environment is set up as), I dont set up RDS, and then run

eb start

which prompts me to deploy my latest git commit, I say yes, and it deploys!

Good news? Not so much, Yes my url given by EB does say Hello World, but if at ANY point I try to deploy new code, lets say a change to the gemfile, and there is an error in building my gemfile.. the environment completely blocks me out to the point where.

  • I cannot access any logs, and If I try, the env goes into a grey state, and reboots
  • I cannot redeploy any previous git commit, the env just spends 10 minutes and times out

I'm getting frustrated having to rebuild an ENTIRE environment every time there is a slight error in the code.

In general, I'm looking for an alternative to heroku, from which I can deploy changes from the command line. I don't think my question is phrased well enough for anyone to spot out exactly what I'm doing wrong - If I am even doing something wrong. If there are any best-practices with deploying to EB.. please let me know. Thanks!

What size instance are you using? I've found that trying to use a micro instance doesn't work as it runs out of memory when building any native extensions.

Try using a t2.small instance at a minimum.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM