Jump to content

The ultimate community for Ruby on Rails developers.


Photo

Easy deployment solutions


  • Please log in to reply
15 replies to this topic

#1 Jamie

Jamie

    Controller

  • Moderators
  • 114 posts
  • LocationThe UK

Posted 14 August 2013 - 06:29 PM

Hey guys

 

I have only ever used Cloud66 for easy deployment + Digital Ocean for the cloud storage.

 

Like I said in my introduction post to the forum I have only been hardcore Rails programming for 6-8 months so I haven't come across any alternates which are equal or better quality.

 

It would be good to build a resource of links to sites which are developed for easy deployment.

 

I'll update this post with suggestions going forward if people wish to reply with any reviews also.

 

Take a look at the features of Cloud66.

 

--- UPDATE ---

 

Other suggestions:

 

:)


  • sirramongabriel likes this
Rails developer based in Newcastle, UK.
Web app owner - Twitter lover

#2 Tom

Tom

    Signalman

  • Members
  • 25 posts

Posted 14 August 2013 - 07:46 PM

I usually do my own not-so-easy deployments which I've learned over time. I've looked at Cloud66 and Cloud Foundry (which is very similar) recently but I haven't had the time to really evaluate them yet. These sorts of solutions are wonderful because they don't tie you into any particular infrastructure provider (aka "cloud") and are much cheaper for (more or less) the same services provided by the big PaaS names.

 

For smaller single-sites and closed systems that don't require much complexity, installing Passenger and just uploading your app (a la PHP) might be the easiest way to go.



#3 Jemagee

Jemagee

    Inspector

  • Members
  • 62 posts

Posted 14 August 2013 - 08:45 PM

I"m acutally still just a beginner and working on numerous projects but I do have some concerns regarding finding affordable hosting, and honestly, how do I 'update' my live site without wiping the database :)  I've worked mostly through the Hartl tutorial but it doesn't show you how to deploy changes to an existing web site. 



#4 mtmcfarl

mtmcfarl

    Passenger

  • Members
  • 2 posts

Posted 14 August 2013 - 08:48 PM

It doesn't get any easier than using Heroku.

 

You can have your own domain and even point your database to whereever you'd like.



#5 Jemagee

Jemagee

    Inspector

  • Members
  • 62 posts

Posted 14 August 2013 - 08:59 PM

It doesn't get any easier than using Heroku.

 

You can have your own domain and even point your database to whereever you'd like.

I'm a bit worried about heroku costs - my 'server' skill is not really that strong i don't really know what i'd need -t hen again since i'm building a blog engine from scratch (anyone wanna help?:) for meta blogs I dont know how long it's going to take



#6 Jamie

Jamie

    Controller

  • Moderators
  • 114 posts
  • LocationThe UK

Posted 14 August 2013 - 09:04 PM

I"m acutally still just a beginner and working on numerous projects but I do have some concerns regarding finding affordable hosting, and honestly, how do I 'update' my live site without wiping the database :)  I've worked mostly through the Hartl tutorial but it doesn't show you how to deploy changes to an existing web site.

 
You would use Migrations to manage your DB. You would also host your database normally on another server and use MySQL/Postgres and not the sqlite3 you use in development so you wouldn't destroy your data easily. You can also use Console to edit anything too if required - Although I write migrations for almost everything unless it's specific to a user and not the system.
 

It doesn't get any easier than using Heroku.
 
You can have your own domain and even point your database to whereever you'd like.

 
I've used Heroku before in some beginner tutorials however it gets expensive quick when you want to turn on production mode for more than an hour I've experienced when you want all the extra addons.

That's why I found Digital Ocean $10 package + Cloud66 for management = Works a treat for me but Heroku is an awesome tool I forgot to mention in the OP.
 

I'm a bit worried about heroku costs - my 'server' skill is not really that strong i don't really know what i'd need -t hen again since i'm building a blog engine from scratch (anyone wanna help? :) for meta blogs I dont know how long it's going to take


I was worried at first about costs and it can get complicated because it's broken down into what you want to run but don't let it confuse you. Take your time and read through the options and look for some tutorials online and you'll be sweet.

I'd love to take a look if you have a Git account, I'd be happy to chip in when required to help improve my knowledge of Ruby too.

Follow and collaborate with me on GitHub.

 

 

:)


Rails developer based in Newcastle, UK.
Web app owner - Twitter lover

#7 Jemagee

Jemagee

    Inspector

  • Members
  • 62 posts

Posted 14 August 2013 - 09:10 PM

I haven't started the building of the blog yet - i'm still a beginner in OOP and Rails (plus my adhd mind gets hung up on things like layout design adn stuff - i really need to focus more on the 'agile' development model one piece at a time)

 

I call it a meta blog because it will not be a 'mono topic' blog or just musings - it'll be a rather robust engine if i can build it properly.

 

Consider a 'blog' that has topics (Pop Culture, Sports, Geek, Food, John) and each topic has 4-5 sub topics - but blog posts might include data analysis (of free throw percentages for instance - in a database built by scraping ESPN's NBA box score data, which i have figured out how to do) - I have a lot of varied interests so I would want the blog to be able to be broken down easily - the interface would also require a bit of mark up for commenting (I've noticed red cloth might work), it's still in the rough stages - but I know i would want threaded commenting (like at sbnation.com)



#8 Adam

Adam

    Inspector

  • Administrators
  • 71 posts

Posted 14 August 2013 - 10:35 PM

While we would usually discourage such blatant advertising, I will just mention one of our products seeing as we host & sponsor the forum.

 

Deploy offers a web-based interface which allows you to easily configure deployments to take code from Git, Subversion or Mercurial repositories and deploy it to FTP or SSH servers plus cloud locations like S3 and Rackspace Cloudfiles.

 

Of course, you still need software on the server like Passenger and this is more of a replacement for Capistrano.


  • jack likes this

Adam Cooke

from aTech Media - UK-based Ruby on Rails developers. 

 

Follow me on Twitter  •  Check out my code on GitHub  •  Take a look at my designs


#9 AstonJ

AstonJ

    Dispatcher

  • Members
  • 35 posts

Posted 15 August 2013 - 11:59 AM

I'd always recommend a dedicated server with Passenger - you can host as many sites as you want, and also have things like stats, email etc I have PHP sites and Ruby sites on my server, and all domains have email addresses, something that you can't seem to do with Heroku etc(?)


:)


#10 Jamie

Jamie

    Controller

  • Moderators
  • 114 posts
  • LocationThe UK

Posted 15 August 2013 - 12:09 PM

I'd always recommend a dedicated server with Passenger - you can host as many sites as you want, and also have things like stats, email etc I have PHP sites and Ruby sites on my server, and all domains have email addresses, something that you can't seem to do with Heroku etc(?)

 

It is possible- you just point your A records to the servers doing the business. Google handles my email for all my servers so I adjust the MX records to match and then point www and even subdomains to different rails apps if on one domain to multiple servers.

 

I've had nothing but issues installing Passenger in the past so I avoid it but that was back in 2008 so maybe it's a lot better now and I should give it the time of day it deserves.

 

 

:)


Rails developer based in Newcastle, UK.
Web app owner - Twitter lover

#11 AstonJ

AstonJ

    Dispatcher

  • Members
  • 35 posts

Posted 15 August 2013 - 12:18 PM

It is possible- you just point your A records to the servers doing the business. Google handles my email for all my servers so I adjust the MX records to match and then point www and even subdomains to different rails apps if on one domain to multiple servers.

 

I've had nothing but issues installing Passenger in the past so I avoid it but that was back in 2008 so maybe it's a lot better now and I should give it the time of day it deserves.

 

 

:)

 

Lol 2008 Jamie! 5 years is a long time in tech :P Give it another go - it's been awesome for me.

 

Re emails, I have loads of them per domain - some inboxes, some forwarders, and I prefer a control panel to set them up. I like a hosting control panel on my server, just makes it so much easier to set up and administer accounts.


:)


#12 Stuart Hannig

Stuart Hannig

    Signalman

  • Members
  • 15 posts

Posted 15 August 2013 - 07:26 PM

I've only had limited experience with Nitrous.io and Heroku. However, Nirous.io isn't really for production deployment.

 

Would you have a tutorial on how to get started with Cloud66 and Digital Ocean? I've deployed PHP apps on Digital Ocean, but looking to get Rails going on it as well. Writing up a tutorial for this forum would be nice as well!



#13 iMatt

iMatt

    Passenger

  • Members
  • 2 posts

Posted 16 August 2013 - 03:45 PM

Hi,

 

Nice to see this forum alive again.

 

For deployment, I usually set up my own linux server (mostly Debian), hosted in IaaS providers (DigitalOcean, AWS, Gandi.net, CloudSigma, etc.).

 

At the beginning I started from scratch over ssh, it's not that complicated at the end, but there is many things to learn and you will have some headaches. The good thing is that it gives you a lot of control, and you can install any service you want (cron job, background tasks, websocket server, etc.). But the road is very long before having a highly secured and highly available platform, I'm not there yet.

 

After doing some set up from scratch, I looked at server provisioning solutions like Chef or Puppet, but they have a quite long learning curve and I wasn't very comfortable with them. I finally found a much simpler solution (but more limited) by using capistrano to write my own provisioning recipes, and it works quite well. The idea comes from Ryan Bates : http://railscasts.co...istrano-recipes

 

Finally, I discovered recently flynn.io, an Heroku-inspired opensource project, it looks awesome and I'm looking forward to see it. They plan to have a first version in 6 months.


  • kiplina likes this

#14 mark horrocks

mark horrocks

    Passenger

  • Members
  • 2 posts

Posted 08 October 2013 - 12:08 PM

I'm currently using Ubuntu, postgreSQL, nGinx, Unicorn, Capistrano. It's been a bit of a learning curve but I like it better than Apache and Passenger.



#15 RoyTheB0y

RoyTheB0y

    Signalman

  • Members
  • 10 posts

Posted 09 January 2014 - 10:28 PM

Apache and Passenger for me with and a dedicated Git server

Everything is then under your control and you don't have to worry about which versions are supported.

I found Heroku slow and clunky, plus I'm more familiar with MySQL than Postgres



#16 stevieing

stevieing

    Dispatcher

  • Members
  • 40 posts

Posted 10 January 2014 - 08:33 PM

Good question. I have just deployed a Rails app to Linode.

 

I use apache, passenger and postgresql. My code is on Github.

 

I use my mac for development. I have set up a staging server on VmWare - OS Ubuntu. I use RVM to manage my Rubies. Setting up a staging server has lots of advantages. It has allowed me to experiment and iron out any problems so that deploying to production was a lot easier.

 

I use capistrano and my deployment can be incredibly quick. I like the fact it that I can integrate it with things like bundler, passenger and sidekiq. For example I did a deployment the other day to make some minor styling changes. I managed to push my changes to github and deploy to my staging and production servers in 5 minutes with no additional tasks.

 

Steve.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users