Skip to content

Instantly share code, notes, and snippets.

View jeffersongirao's full-sized avatar
🏠
Working from home

Jefferson Girão jeffersongirao

🏠
Working from home
View GitHub Profile
This example shows how to setup an environment running Rails 3 beta 3 under 1.9.2-head with a 'rails3' gem set.
∴ rvm update --head
# ((Open a new shell)) or do 'rvm reload'
# If you do not already have the ruby interpreter installed, install it:
∴ rvm install 1.9.2-head
# Switch to 1.9.2-head and gemset rails3, create if it doesn't exist.
∴ rvm --create use 1.9.2-head@rails3
@jeffersongirao
jeffersongirao / Rakefile
Created April 9, 2012 16:27 — forked from grosser/Rakefile
rake version:bump:patch in the age of bundler gemspecs
# extracted from https://github.com/grosser/project_template
rule /^version:bump:.*/ do |t|
sh "git status | grep 'nothing to commit'" # ensure we are not dirty
index = ['major', 'minor','patch'].index(t.name.split(':').last)
file = 'lib/GEM_NAME/version.rb'
version_file = File.read(file)
old_version, *version_parts = version_file.match(/(\d+)\.(\d+)\.(\d+)/).to_a
version_parts[index] = version_parts[index].to_i + 1
version_parts[2] = 0 if index < 2
@jeffersongirao
jeffersongirao / gist:3117702
Created July 15, 2012 16:43 — forked from cwsaylor/gist:8511
hack sink ship
# Variation on Hashrocket's script for managing the git process
# as documented here: http://reinh.com/blog/2008/08/27/hack-and-and-ship.html
# Create shell scripts out of each of these, put them in your path (~/bin for example)
# chmod 755 them and use like this:
#
# This version of hack is totally different than Hackrockets. I feel that hack implies
# that you are getting started, not finishing up. sink is Hashrockets hack.
#
# $ hack branch_name
# Test and Implement until done
# Deploying Sinatra apps to Amazon EC2 using rubber (normally used for Rails deployment to EC2)
#
# Rakefile needed by rubber for non-rails apps
#
require 'rake'
require 'rake/testtask'
require 'rake/rdoctask'
env = ENV['RUBBER_ENV'] ||= (ENV['RAILS_ENV'] || 'development')
root = File.dirname(__FILE__)
== Rules ==
On Infrastructure
-----------------
There is one system, not a collection of systems.
The desired state of the system should be a known quantity.
The "known quantity" must be machine parseable.
The actual state of the system must self-correct to the desired state.
The only authoritative source for the actual state of the system is the system.
The entire system must be deployable using source media and text files.