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"
end
vagrant up
Share code with rsync or shared folders .notes vagrant ssh connects through NAT to the VM
vagrant ssh
You 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"
end
eg. 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