Babushka

Post on 12-May-2015

1.434 views 0 download

Tags:

description

My slides from piterrb #3

Transcript of Babushka

@gazay

system administration

for rubists

setup server

• manually

• puppet

• chef

• gitpusshuten

• babushka

• etc…

manually

chef & puppet

simple setup one server for rails app

test-driven sysadmin

nested

test-driven?

test code

test task

$ ruby --version

ruby 1.8.7 …

$ rvm use 1.9.2

Using ruby 1.9.2 p0

$ ruby --version

ruby 1.9.2p0 …

test

task

test

$ ruby --version

ruby 1.8.7 …

$ rvm use 1.9.2

Using ruby 1.9.2 p0

$ ruby --version

ruby 1.9.2p0 …

dependency

$ ruby --version

ruby 1.8.7 …

$ rvm use 1.9.2

Using ruby 1.9.2 p0

shell( ‘ruby –version’ )[ ‘ruby 1.9.2 p0’ ] shell( ‘rvm use 1.9.2’ )

met? { shell( ‘ruby –version’ )[ ‘ruby 1.9.2 p0’ ] } shell( ‘rvm use 1.9.2’ )

met? { shell( ‘ruby –version’ )[ ‘ruby 1.9.2 p0’ ] } meet { shell( ‘rvm use 1.9.2’ ) }

dep ‘ruby 1.9.2 in use’ do

met? { shell( ‘ruby –version’ )[ ‘ruby 1.9.2 p0’ ] } meet { shell( ‘rvm use 1.9.2’ ) } end

nested

dep ‘ruby 1.9.2 in use’ do

requires ‘1.9.2 rvm ruby’

met? { shell( ‘ruby –version’ )[ ‘ruby 1.9.2 p0’ ] } meet { shell( ‘rvm use 1.9.2’ ) } end

dep ‘1.9.2 rvm ruby’ do

requires ‘rvm’

met? { shell( ‘rvm list’ )[ ‘ruby-1.9.2-p0’ ] } meet { shell( ‘rvm install 1.9.2’ ) } end

dep ‘rvm’ do

met? { which ‘rvm’ } meet { shell 'bash -c "`curl http:// rvm.beginrescueend.com/releases/rvminstall- head`"'

} end

dep 'Cucumber.tmbundle' do

source 'git://github.com/bmabey/cucumber

tmbundle.git'

end

sharing

dep 'setup-user' do

requires [

'benhoskings:passwordless ssh logins',

'benhoskings:hostname',

'benhoskings:secured ssh logins',

'benhoskings:admins can sudo‘

]

end

git://github.com/ benhoskings /babushka-deps

railsrumble stack

thanks!