Post on 12-May-2015
description
transcript
@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!