Yo dawg, I heard you like automation, so I automated your automation so you can autopilot while you autopilot!
Rails 3 projects with every fiddly bit convened rather than configured. Includes
- HAML and SCSS
- RSpec 2 with Relevance config niceties
- Factory Girl
- Mocha configured for mocking
- Capistrano deploy recipes
- A VM deployment target under provision
$ gem install relevance_rails $ relevance_rails new <your new project>
Provisioning on EC2
First create an aws config in ~/.relevance_rails/aws_config.yml. An example config looks like this:
aws_credentials: :aws_access_key_id: <your aws access key id> :aws_secret_access_key: <your aws secret access key> server: creation_config: :flavor_id: <instance type, e.g. 'm1.large'> :image_id: <ami to bootstrap with. Must be some UBUNTU image. e.g. "ami-fd589594"> :groups: <security group to place the new deployment in, e.g. "default"> :key_name: <name of the public/private keypair to start instance with> private_key: | -----BEGIN RSA PRIVATE KEY----- Include the RSA private key here. This should correspond to the keypair indicated by :key_name above. -----END RSA PRIVATE KEY-----
Now just provision your instance:
$ rails g deployment qa $ cap qa deploy:setup deploy
Only supports REE 1.8.7, Rails 3.1 and MySQL right now.
Fork, do your work, and issue a pull request.
Open a github issue and I'll look at it next Friday.