Ruby on Rails is a framework that allows a web developer to rapidly design web applications which are capable of leveraging database back-ends with minimal effort. Written in Ruby, Rails prefers convention and simple patterns to facilitate rapid development rather than relying on a myriad of complex and intermingling configurations files. The result is a web framework that allows you to transition from idea to implementation in a fraction of the time it might have required with other web frameworks.
Introduction
JumpBox provides a Ruby On Rails appliance whose purpose is to serve as a deployment system for your Rails applications. We understand that developers prefer to use their own tools for developing and deploying their applications, and so our JumpBox for Ruby on Rails politely remains out of your way until you've decided that it's time to deploy your application.
What is the value of deploying your Rails application with a JumpBox appliance? Quite simply, it allows you as the developer to concentrate on your development rather than having to accommodate the potentially infinite number of configuration possibilities that one might otherwise encounter in attempting to distribute Rails applications to end user systems.
As such, you needn't worry about the fact that your users will be hosting your application on a Linux, Mac OS X, or Windows computer. They won't be required to install MySQL to support your application, and for that matter, you needn't care about whether or not they even have Ruby installed... They won't need it because your application will operate within a fully self-contained virtual machine instance.
We feel that the proposition of significantly reducing installation and configuration support issues will be compelling enough of a reason to consider deploying your Rails application with the JumpBox for Ruby on Rails. Now, instead of being required to install Ruby, MySQL, Apache, and a potentially vast array of dependencies, your end user need only install a Virtual Machine platform such as VMWare, Parallels, or Xen. If they so desire, they can also easily host your application in a Cloud Computing environment such as Amazon EC2.
How Does it Work?
Technically, it's rather simple. The JumpBox for Ruby on Rails is a self-contained Ubuntu Linux environment that, upon startup, immediately hosts fully functioning Apache, Ruby, MySQL, and Ruby On Rails environments. With only a minimal amount of preparation, you can use your favorite deployment method to install and host your Rails application on the JumpBox.
Once your Rails application has been successfully deployed onto the JumpBox, bundling it for redistribution is as simple as performing a backup in the JumpBox administration portal. The contents of this backup can be used to install your application, its databases, and its gem dependencies on another JumpBox for Ruby on Rails simply by performing a restore operation. Note that as this is a beta release of the JumpBox for Ruby on Rails, this process will likely change in the future, becoming more flexible and streamlined.
Developing the Rails Application
As the JumpBox for Ruby on Rails has been designed as a deployment system, you will most likely be using it to deploy your Rails applications while continuing to develop those applications on your local computer. There's nothing preventing you from developing on the JumpBox itself, but doing so may likely be more cumbersome than using the tools at your disposal.
Deploying the Rails Application
There are as many ways to deploy Rails applications as there are ways to develop them. Some of these deployment options include using Capistrano, Secure FTP, and Secure Copy. If your present deployment tool can leverage SSH, then you should have no problems deploying your application.
For your convenience, the default Rails application on your JumpBox is located at /var/data/app/current. Additionally, it has been pre-configured with a set of MySQL databases for Rails' use. These databases are named 'app', 'app_development', and 'app_test'.
In order to access SSH on your JumpBox, your login name will be 'admin' and your password will be the one that you assigned during your initial JumpBox setup.
Some Examples
These examples will continue to evolve as does the JumpBox for Ruby on Rails.
- Example #1: Deploying the Tracks Application
- Example #2: Deploying the BoxRoom Application
- Example #3: Deploying Your Own Rails Application