How to launch a rails 3 app on Heroku? - ruby-on-rails

How do I launch a Rails 3 app on Heroku.
I am using PHPmyadmin.

I would start here

yep, you need to read the manual. Heroku is entirely managed system, you can only deploy via a git push. By default it uses Postgresql as it's DB - you can use mySQL but you'd have to pay for an Amazon mySQL server

Perhaps you should read through the Ruby on Rails tutorial. It guides you through the process of developing an app in RoR and pushing it to Heroku. Good luck.
This part, especially, has information on deployment to heroku:
Heroku Deployment

Related

(Rails newbie) How to deploy a ruby on rails application to Droplet?

I currently created a droplet with Digital Ocean and I am having trouble understanding how to deploy my ruby on rails application.
I used DO one click option and that gave me a folder called rails_project. I currently have my rails application on github and plan to clone the repository to the root. Can I delete rails_project once I have my app on there?
Is there anything else I need to do?
Thanks!
I'd check the rails_project app for database.yml to see how they connect to Postgres, but according to the tutorial, all the software you need should be installed.
I use capistrano to deploy to DigitalOcean, but if all you need to do is git clone / git pull, you should be fine.

How to deploy a rails project on a Ubuntu server?

I've developed my Rails project locally and want to deploy it on my Ubuntu VPS. Now I've installed the gems on the VPS and copied my Rails App code to it. I can execute rails s --binding=0.0.0.0 in a putty session to the VPS and the website can be access from the Internet. The problem is when I close putty, the website is down. How to start my Rails App in a way that it still alive even if I closed putty?
Using rails s is not the way to go. It will use Webrick(or a different one if you choose) to handle the requests and it can be quite slow.
You should setup a production stack for serving your website.
Here is one of the best tutorials I've seen about how to deploy a Rails app to a production server(VPS).
In short you gonna need install RVM or Rbenv, Ruby, some libs, Database, Nginx and Passenger. You have alternatives too. But this is the basic.
I recommend using Capistrano for deploy. You can choose another deployment tool also, or none.
rails s it is best for development only.

Capistrano 3.0.0

Has any one used Capistrano 3.0.0 ?
I'm new to rails and web development in general, and I've never used Capistrano before, and I need to deploy my app on Heroku with Capistrano in order to user sidekiq and redis-server.
Should I use an older version of Capistrano, where I could find more resource to help get started, or is this considered a bad thing ?
Any suggestions or tips would be very much appreciated.
Capistrano and Heroku are not compatible technology.
Heroku provides a git source control remote server. When you want to deploy code onto your Heroku app, you use git to push a copy of the code. This triggers a Heroku deployment through their process.
Capistrano is an SSH based system deployment framework. It allows you to connect via SSH to each server in your environment and issue commands with a large library of built-in functionality. Heroku does not allow SSH access to configure systems.
Do you have deploys/configuration working on Heroku at all? If not, you should start there with the basic Heroku Rails setup documents.
If you do have your web app running, but need Redis and Sidekiq, you will need to:
Provision a Redis database provider, like OpenRedis via a Heroku Addon: http://addons.heroku.com/
Setup Sidekiq in your Rails application (See Sidekiq docs: https://github.com/mperham/sidekiq)
Add a Sidekiq worker process in your Heroku Procfile within your app
Your app will then have a number of web processes from the Procfile running your Rails app front-end and a number of back-end asynchronous workers running Sidekiq.

Ruby on Rails hosting with gem "capybara-webkit"

I want to deploy a RoR application that uses a gem capybara-webkit. Is there any free RoR hosting site capable of using that gem?
Heroku is not capable of using it: Is it possible to run capybara-webkit (i.e. forked webkit_server) on Heroku Cedar?
OpenShift is also not capable: https://www.openshift.com/forums/express/error-in-installing-capybara-webkit-gem-while-trying-to-deploy-juvia-rails-app
Is there any other alternative?
I have tired capybara-webkit with digital ocean it works well for me.
for more information http://blog.55minutes.com/2013/09/running-capybara-webkit-specs-with-jenkins-ci/
If you just need to deploy the app on Heroku (and not run tests with capybara-webkit on Heroku), exclude caybara-webkit from the installed dependencies on your Heroku app:
heroku config:add BUNDLE_WITHOUT="development:performance:test"

Can I deploy a Rails App directly onto my companies website?

I have originally been hosting my apps on Heroku, however this is not an acceptable deployment method in my current environment. We have personal information in our applications that deploying to Heroku and setting up DNS forwarding is not acceptable. Regardless of how 'secure' or 'reliable' anyone may think it is, it is just not acceptable in my case.
Our host is siteturn.com, integrated with Plesk 10.4.4. If I SSH onto our websites server as admin and type
ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux].
rails -v
Rails 2.3.5
It appears Ruby and Rails are already installed (Older versions than I require, as I need ruby 1.9.3 and Rails 3.2) If I'm not mistaken it seems like my host 'supports' rails (why else would it already have it installed :P).
How should I go about deploying my application directly onto my companies website?
Heroku is an awesome service but the ease of deploying to Heroku has given you a skewed view of what is involved in hosting your own rails website. Heroku has shielded you from a lot of the hard parts.
For example, just because ruby and rails is installed does not necessarily mean you can host a production rails website. You'll need a rails specific web server (for example nginx and passenger, unicorn, etc). You also need a database (MySQL or Postgres) assuming your web app uses one. Also, as you said you need to upgrade the versions of ruby and rails.
That's just to get the server setup. After that you can get to the deployment part. Capistrano seems to be the most popular choice right now.
Take a look at this railscast episode on deploying to a virtual private server for a very good overview of what is involved. It also briefly goes into Capistrano as well. It's not a free episode but I feel it's definitly worth the money.
Pick up a copy of Agile Web Development with Rails, Third Edition and read what it says about deployment. That should get you started. There's more info required than can be put in a SO answer.

Resources