GithubHelp home page GithubHelp logo

cnbird1999 / capistrano-ec2group Goto Github PK

View Code? Open in Web Editor NEW

This project forked from logandk/capistrano-ec2group

0.0 1.0 0.0 115 KB

Capistrano plugin for deploying to Amazon EC2 instances by security groups

License: MIT License

Ruby 100.00%

capistrano-ec2group's Introduction

capistrano-ec2group

Capistrano plugin for deploying to Amazon EC2 instances by security groups.

Introduction

This plugin supports the deployment strategy of using the security groups feature of Amazon EC2. If you are using auto-scaling of instances, new hostnames will be added and removed regularly, causing problems when you have to specify your servers hostnames in your Capistrano recipes.

By using security groups to organize your instances by roles, you have created a simple database of instances that is automatically updated as auto-scaling happens. By using a provisioning tool like Sprinkle, Moonshine, Chef, Puppet, Rubber (etc.) to automatically configure instances upon launch (through EC2 user-data), you have a completely automated workflow for configuring and deploying auto-scaling instances.

Installation

capistrano-ec2group is provided as a Ruby gem, with the following dependencies:

  • Capistrano 2 gem
  • RightAWS gem

You can install it with RubyGems, through RubyForge or GitHub.

RubyForge

$ gem install capistrano-ec2group

GitHub

$ gem sources -a http://gems.github.com (you only have to do this once)
$ gem install logandk-capistrano-ec2group

Usage

In order to use the capistrano-ec2group plugin, you must require it in your deploy.rb:

require 'capistrano/ec2group'

Then you must specify your Amazon EC2 credentials:

set :aws_access_key_id, '???'
set :aws_secret_access_key, '???'

If you are running capistrano from ec2 and would like to use private dns names

set :aws_pvt_dns, true

Optionally setting additional parameters, such as the region:

set :aws_params, :region => 'eu-west-1'

In order to define your instance groups, you must specify the security group name, the roles and params:

group :webserver, :web
group :app_myappname, :app
group :lamp, :web, :app
group "MySQL Servers", :db, :port => 22000

Then just sit back, relax and cap deploy!

Documentation

Additional RDoc documentation is available at: http://rdoc.info/projects/logandk/capistrano-ec2group

Credits

###Thanks to###

Copyright (c) 2009 Logan Raarup, released under the MIT license

capistrano-ec2group's People

Contributors

logandk avatar brucem avatar marxarelli avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.