Christian Trabold
Developer in Frankfurt, Germany
Tags: Deployment, Devops, TYPO3
| z, ? | toggle help (this) |
| space, → | next slide |
| shift-space, ← | previous slide |
| d | toggle debug mode |
| ## <ret> | go to slide # |
| c, t | table of contents (vi) |
| f | toggle footer |
| r | reload slides |
| n | toggle notes |
| p | run preshow |

A personal love story
Developer in Frankfurt, Germany
Tags: Deployment, Devops, TYPO3
Make documentation executable
Don't try to make your shell scripts more flexible
Flexible out-of-the-box
Forget MacPorts, Homebrew and friends for real DEV
On a Mac
$ (sudo) gem install vagrant
$ vagrant box add basebox \
http://files.vagrantup.com/lucid64.box
$ cd ~/workspace
$ vagrant init basebox
$ cat ./Vagrantfile
Vagrant::Config.run do |config|
config.vm.box = "basebox"
config.vm.network "192.168.56.10"
config.vm.forward_port "http", 3000, 3000
config.vm.share_folder "v-data", "/data", "../data"
endvagrant up
Share code with rsync or shared folders .notes vagrant ssh connects through NAT to the VM
vagrant sshYou got your VirtualMachine up and running!
cap deploy$ cat ./Vagrantfile
Vagrant::Config.run do |config|
config.vm.share_folder "v-data", "/data", "../data"
end$ cat ./Vagrantfile
Vagrant::Config.run do |config|
config.vm.forward_port "http", 3000, 3000
end$ cat ./Vagrantfile
Vagrant::Config.run do |config|
config.vm.network "192.168.56.10"
endeg. with Chef cookbooks
$ cat ./Vagrantfile
…
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "cookbooks"
chef.add_recipe "rails"
chef.add_role "web"
end$ vagrant provision
This runs chef-solo
$ vagrant box repackage mybasebox$ gem install veewee
$ vagrant basebox define \
'mybasebox' \
'ubuntu-10.10-server-i386'These simple steps will change the way we develop. And that's the hard part:
Devs have their way of setup
When talking to management, marketing, sysadmins, other developers really strange things happen.
A working example is worth 1000 discussions
Involve people as much as possible!
Sharing is caring
4VMs parallel = hot!
~10 GB
/etc/resolv.conf #wtf
RAM and HDs are cheap

Maybe is not work because
you are use wrong Unicorn encoding?
@DEVOPS_BORAT
A perfect playground for new ideas
eg. testing Chef cookbooks
Continuous Delivery, Testing Infrastructure