Vargant ist ein Tool für das Erstellen und Verbreiten von virtualisierten Entwicklungsumgebungen.

Vagrant baut hier auf Ruby auf und ermöglicht es, ausgehend von einer Basis Installation, automatisiert spezielle Entwicklungsumgebungen aufzubauen. Die Beschreibung der aktuellen Infrastruktur wird mit dem ausgezeichneten Provisionierungs Tool Chef von Opscode gemacht. Damit hat man nun die Möglichkeit jedem Entwickler eine reproduzierbare und portable Entwicklungsumgebung zur Verfügung zu stellen.

Virtualbox

Vagrant benötigt Oracles VirtualBox, um die virtuellen Umgebungen herzustellen. VirtualBox ist eine Virtualiserungssoftware für x86 Systeme. Virtualbox eignet sich für Server als auch für Desktop Virtualisierungen, und ist im Moment die einzige Virtualisierungslösung in professioneller Qualität, die auch Open Source Software ist. VirtualBox ist für Windows, Mac OS X, Linux, und Solaris erältlich.

Hier ist ein Link zur Download Seite von Virtualbox .

Vagrant installieren

Oracles Virtualbox setzt eine Ruby und Rubygems Umgebung voraus.
Nach der Installation von Ruby , Rubygems und Virtualbox (in einer Version grösser 3.2) kann man Vagrant installieren:

   1  $ gem install vagrant
   2  $ vagrant box add base http://files.vagrantup.com/lucid32.box
   3  $ vagrant init
   4  $ vagrant up
   5  end

Die Vagrant virtuelle Maschine erreicht man nun mit ssh auf localhost, Port 2222

Eine Liste von verschiedenen Basis Boxen kann man hier finden [klick]

Ein einfaches Beispiel ist nun mit chef-solo Apache2 zu installieren. Dazu brauchen wir ein $Vagrantfile$ im aktuellen Projektverzeichnis (da wo wir vagrant init gemacht haben) das folgendermassen aussieht:

   1  Vagrant::Config.run do |config|
   2    # All Vagrant configuration is done here. For a detailed explanation
   3    # and listing of configuration options, please view the documentation
   4    # online.
   5  
   6    # Every Vagrant virtual environment requires a box to build off of.
   7    config.vm.box = "base"                 
   8  
   9    # Forward guest port 80 to host port 4567 and name the mapping "web"
  10    config.vm.forward_port("web", 80, 4567)   
  11    
  12    # This path will be expanded relative to the project directory
  13    config.chef.cookbooks_path = "cookbooks"
  14    
  15    #this recipe we want to run
  16    config.chef.add_recipe("apache_demo")
  17    
  18    # we use chef-solo to provision stuff
  19    config.vm.provisioner = :chef_solo
  20  end

Der Einfachheit halber verwenden wir das Standard Apache2 Cookbook von Opscode.

Sie können das Vagrant Projekt auch hier auf Github abholen [klick] und in das Verzeichnis $vagrant-apache$ wechseln.
Nach einem einfach $vagrant up$ sollte der Apache auch schon in Ihrer Virtuellen Maschine verwendbar sein:

it-works

Gratuliere!

blog comments powered by Disqus

Weitere Artikel die Sie interessieren könnten:

Deployment von Java Web Applikationen mit Chef von Opscode

There is a rework of the data driven deployment of java web applications. This Vagrant project on github ( https://github.com/iteh/vagrant-demos/ ) showcases the application cookbook for chef with a reworked application definition and LWRP for...

Links der Woche vom 2011-05-23 bis 2011-05-29

Diese Woche Links zu den Themen Windows, Ruby, opscode, JavaScript, maps, Leaflet, WordPress, Chef, windows, powershell, opschef, ios, ruby, devops, sysadmin, monitoringsucks

Links der Woche vom 2011-05-16 bis 2011-05-22

Diese Woche Links zu den Themen coffeebeans, Rails, CoffeeScript, Array, Ruby, Chef, Django, zo, devops, sysadmin, git, chef, CSS3, HTML5, WordPress, nipplegate, MongoDB, rails, rails3, asciicast, test, Android, opschef, Gem, aws, slim, Haml, ruby

Links der Woche vom 2011-05-09 bis 2011-05-15

Diese Woche Links zu den Themen wi, opschef, ActiveAdmin, rails, ror, ruby, HTML5, Chef, cnet, MongoDB, Sinatra, Rack, apple, git, aws, chef, opscode, sysadmin, Ksplice, noSQL, RubyTutorials, CSS3, EC2, AWS, MacRuby, iOS, m

Links der Woche vom 2011-04-11 bis 2011-04-17

Diese Woche Links zu den Themen ipad, iphone, opschef, ruby, OpenCV, detection, image, Weinberg, Ohai, automation, pr, test, gem, cloudfoundry, devops, cfoundry

Data Driven Deployment einer Java Web Application mit Chef Solo

Chef Application Cookbook Showcase Dieses Vagrant Projekt auf unserem Github Repository ( https://github.com/iteh/vagrant-demos/ ) zeigt die Verwendung des Application Cookbooks für Chef

Links der Woche vom 2011-04-04 bis 2011-04-10

Diese Woche Links zu den Themen Pow, Rack, ActiveRecord, Rails, Algorithms, Ruby, rails, optimize, CSS3, railscasts, chat, macbook, opschef, ruby

Links der Woche vom 2011-03-28 bis 2011-04-03

Diese Woche Links zu den Themen design, utilities, rails, asciicast, gem, ux, Awesome, jQuery, devops, Git, radiantcms, rvm, opschef, osx, MacRuby, chef, opscode, Rails, i18n, java, Vagrant, automation, Typography, Type

Links der Woche vom 2011-03-21 bis 2011-03-27

Diese Woche Links zu den Themen MacRuby, Java, Ruby, Mirah, CSS, refreshtoplayagain, gainsboro, photo, Design, mechanize, capybara, PHP, Rails, html5, webdesign, XCode, iPads, WordPress, Vagrant, Opscode, RUBY, Selenium, php, opschef, osx, devops,...

Links der Woche vom 2011-03-14 bis 2011-03-20

Diese Woche Links zu den Themen opschef, chef, mwrc, saas, Subscription, Billing, git, ruby, HTTP, Rails, Caching, devops, vagrant, opscode, Wordpress