15
Development Box Branislav Djuric [email protected] @djbranislav

Development box at Startit Tech Meetup

  • Upload
    startit

  • View
    256

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Development box at Startit Tech Meetup

Development Box

Branislav [email protected]

@djbranislav

Page 2: Development box at Startit Tech Meetup

How do we Develop ...

Page 3: Development box at Startit Tech Meetup

Local Dev Environment

Page 4: Development box at Startit Tech Meetup

Local Dev Environment

● No isolation

● Not Shareable

● Not Repeatable

Page 5: Development box at Startit Tech Meetup

Alternative?

Virtual Machines?

Page 6: Development box at Startit Tech Meetup

Free and Open Source

Started on January 2010 by Mitchell Hashimoto

The first release, 0.1.0 released on March 7, 2010

Linux, Mac OS X and Windows

Page 7: Development box at Startit Tech Meetup

Tool that allows you to easy manage your environment

Page 8: Development box at Startit Tech Meetup

How we use Vagrant 101

$ vagrant init precise32 http://files.vagrantup.com/precise32.box

$ vagrant up

Page 9: Development box at Startit Tech Meetup

Vagrantfile

Vagrant::Config.run do |config|

config.vm.box = "debian-6.0.3-64-elastica-20120211"

config.vm.box_url = "http://ruflin.com/files/vagrant/debian-6.0.3-64-elastica-

20120211.box"

config.vm.network :hostonly, "10.10.10.10"

config.vm.share_folder("www", "/var/www", ".")

config.vm.customize [

"modifyvm", :id,

"--memory", "2048"

]

end

https://github.com/djuric42/xBoilerplate/blob/master/Vagrantfile

Page 10: Development box at Startit Tech Meetup

Vagrant::Config.run do |config|

config.vm.box = "debian-6.0.3-64-elastica-20120211"

config.vm.box_url = "http://ruflin.com/files/vagrant/debian-6.0.3-64-elastica-

20120211.box"

config.vm.network :hostonly, "10.10.10.10"

config.vm.share_folder("www", "/var/www", ".")

config.vm.customize ["modifyvm", :id, "--memory", "2048"]

config.vm.provision :puppet do |puppet|

puppet.manifests_path = "vagrant/puppet/manifests"

puppet.manifest_file = "base.pp"

end

config.vm.provision :shell, :inline => "/bin/bash /vagrant/load_database.sh"

end

Page 11: Development box at Startit Tech Meetup

Provisioning ToolSetting up server without knowing of server specifications

class doInstall {

class { 'base-setup': stage => "first" }

include apache2

include php

include mysql

include phpmyadmin

class { 'cleanup': stage => "last" }

}

Page 12: Development box at Startit Tech Meetup

Alternatives

● Chef● Salt● Bash Script

Page 13: Development box at Startit Tech Meetup
Page 14: Development box at Startit Tech Meetup

Questions ?@djbranislav

Page 15: Development box at Startit Tech Meetup

Thank you