Rails Quickstart Deploy
What is Rails?
Rails is a web application development framework written in the Ruby language. It is designed to make programming web applications easier by making assumptions about what every developer needs to get started. It allows you to write less code while accomplishing more than many other languages and frameworks.
The Rails philosophy includes two major guiding principles:
This box installs Ruby on Rails and checks out a bootstrap Rails project to help you get started.
MVC architecture: Ruby on Rails is based on the MVC (Model View Controller) architecture that enables the data to be separated from presentation.
Database Access Library: Ruby on Rails includes a database access library - Active Record - that simplifies data handling in databases. Active Record automatically maps tables to classes and rows to objects.
Libraries for common tasks: Ruby on Rails includes a host of libraries that simplify the coding of common programming tasks such as form validations, sessions management, etc.
AJAX Library: An extensive library of AJAX functions is provided in the Rails framework. Ruby code can be used to generate AJAX code. The associated java scripting required for AJX gets generated automatically.
Convention over configuration: Ruby on Rails does not have any XML configuration files. It includes simple programming conventions that can be used to specify the configuration parameters.
Customized URL: Custom or Search Engine Friendly URLs can be developed using the Ruby on Rails framework.
Debugging: Detailed error logs are provided, making it easier to debug applications.
Components: Components can be used to store reusable code. Components can be included to modularize templates.
CLONE_URL: The repository that is going to be deployed in Ruby on Rails. [https://github.com/ElasticBox/rails-quickstart as default value]
RAILS_APP: The name of the application that is going to be deployed. [rails-quickstart as default value]
http: HTTP port to be opened. [3000 as default value]
cookbook: Box that establishes the Rails recipe dependency.
solo: Box that installs the Chef Solo client and runs the Rails recipe.
An instance executing this box will use bash scripting and Chef Solo to download, install and configure Rails. Box events handle the Rails QuickStart lifecycle on the instance as follows:
solo.pre_install: Installs the Chef Solo client.
install: Installs the SQLite client.
cookbook.pre_configure: Creates the recipes folder and downloads and configures the default.rb and metadata.rb files of ElasticBox's recipe.
solo.pre_configure: Downloads and configures solo.rb and solo.json files and uses them to launch the chef-solo client which will download and install Rails.
start: Executes the Rails server.
The box supports deploying to these linux distributions:
Amazon Linux AMI 2015.03