Testumgebungen mit Vagrant

1,721 views
1,614 views

Published on

Vortrag über Testumgebungen mit Vagrant beim Wordpress Meetup am 23.10.2013

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,721
On SlideShare
0
From Embeds
0
Number of Embeds
531
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Testumgebungen mit Vagrant

  1. 1. Testumgebungen mit Vagrant Ronald Richter
  2. 2. Wie sieht Eure Test- bzw. Entwicklungsumgebung aus? Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  3. 3. Meine Test-/Entwicklungsumgebungen im Laufe der Zeit 1. Apache, PHP und MySQL auf der lokalen Maschine mit VirtualHost-Umgebungen 2. Dedizierte Maschine, die via NFS bzw. FTP/SCP die Daten erhält. 3. Virtuelle Systeme 4. Vagrant Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  4. 4. Vagrant • Mitchell Hashimoto startete 2010 mit der Entwicklung von Vagrant. • Vagrant is a tool for (VagrantUp.com/about.html) building complete development enviroments. • Seit November 2012 liegt die Entwicklung bei der Firma HashiCorp • Vagrant ist in Ruby geschrieben. Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  5. 5. Vagrant - Provider • Ursprünglich nutzte Vagrant für die Virtualisierung ausschließlich Virtualbox • Heute gibt es auch Provider für • VMWare Fusion • Amazon EC2 (AWS) • Windows Virtual PC (AWS) • LXC •… Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  6. 6. VirtualBox • Die Firma InnoTek Systemberatung GmbH begann 2004 mit der Entwicklung • InnoTek wurde dann im Februar 2008 von Sun Microsystem übernommen. • Sun Microsystem wurde wiederum im Januar 2010 von Oracle aufgekauft. • Die ersten Versionen wurden unter einer proprietären Lizenz (PUEL) von Innotek verkauft. • Ab 2007 gibt es auch eine Open Source Edition (OSE), die unter dar GNU General License (GPL) stand, aber nicht alle Funktionen enthielt. • Seit Dezember 2010 mit der Version 4.0 gibt es nur noch die OSE. Die kostenpflichtigen Funktionen werden als Oracle VM VirtualBox Extension Pack vertrieben. Sie stehen aber für den persönlichen und akademischen Gebrauch kostenfrei zur Verfügung. Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  7. 7. VirtualBox - Oracle VM VirtualBox Extension Pack • Das Oracle VM VirtualBox Extension Pack enthält Support für: • Virtuelle USB 2.0 Schnittstelle • Remote Desktop Protocol (VRDP) inkl. USB über RDP • PXE-Boot für E1000 Netzwerkkarten • PCI-Passthrough unter LinuX Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  8. 8. VirtualBox - Hostsysteme • VirtualBox gibt es für: • Windows • OS X • LinuX • Solaris • Lizenz kostet 39€/Named User Plus Webseite: http://www.virtualbox.org Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  9. 9. Vagrant Demo DEMO Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  10. 10. Vagrant Demo II - init 1 2 3 4 5 > vagrant init precise32 http://files.vagrantup.com/precise32.box A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant. Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  11. 11. Vagrant Demo II - up 1 > vagrant up 2 Bringing machine 'default' up with 'virtualbox' provider... 3 [default] Box 'precise32' was not found. Fetching box from specified URL for the 4 provider 'virtualbox'. Note that if the URL does not have a box for this provider, 5 you should interrupt Vagrant now and add the box yourself. Otherwise Vagrant will 6 will attempt to download the full box prior to discovering this error. 7 Downloading or copying the box... 8 Extracting box...te: 1623k/s, Estimated time remaining: 0:00:01) 9 Successfully added box 'precise32' with provider 'virtualbox'! 10 [default] Importing base box 'precise32'... 11 [default] Matching MAC address for NAT networking... 12 [default] Setting the name of the VM... 13 [default] Clearing any previously set forwarded ports... 14 [default] Creating shared folders metadata... 15 [default] Clearing any previously set network interfaces... 16 [default] Preparing network interfaces based on configuration... 17 [default] Forwarding ports... 18 [default] -- 22 => 2222 (adapter 1) 19 [default] Booting VM... 20 [default] Waiting for VM to boot. This can take a few minutes. 21 [default] VM booted and ready for use! 22 [default] Configuring and enabling network interfaces... 23 [default] Mounting shared folders... 24 [default] -- /vagrant Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  12. 12. Vagrant Demo II - ssh 1 > vagrant ssh 2 Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic-pae i686) 3 4 * Documentation: https://help.ubuntu.com/ 5 Welcome to your Vagrant-built virtual machine. 6 Last login: Fri Sep 14 06:22:31 2012 from 10.0.2.2 Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  13. 13. Vagrant - Boxen • Vorlagen können selbst erstellt werden. • Es gibt unter anderem bereits fertige Boxvorlagen für: • Archlinux • CentOS • Debian • Fedora • Ubuntu • OpenBSD • OpenSuse • Oracle Linux •… • Eine Übersicht über fertige Boxen gibt die Seite http://vagrantbox.es Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  14. 14. Vagrant - Konfiguration • Einfache Konfiguration wird via vagrant init im aktuellen Ordner angelegt. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # -*- mode: ruby -*# vi: set ft=ruby : Vagrant.configure("2") do |config| # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantup.com. # Every Vagrant virtual environment requires a box to build off of. config.vm.box = "precise32" # The url from where the 'config.vm.box' box will be fetched if it # doesn't already exist on the user's system. config.vm.box_url = "http://files.vagrantup.com/precise32.box" # # # # Create a forwarded port mapping which allows access to a specific port within the machine from a port on the host machine. In the example below, accessing "localhost:8080" will access port 80 on the guest machine. config.vm.network :forwarded_port, guest: 80, host: 8080 # … end Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  15. 15. Vagrant - Provision • Es unterstützt verschiedene Techniken zur Provisionierung der Umgebung • Shell-Skripte • Ansible • Chef (Solo & Client) • Puppet (Apply & Agent) Webseite: http://www.vagrantup.com Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  16. 16. Demos • Buildumgebung für OpenWRT (=> Shell) • Testsystem für die Wassersportfreude von 1898 e.V. (=> Puppet Apply) • ??? Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013
  17. 17. Letzte Folie Vielen Dank für Eure Geduld! Testumgebungen mit Vagrant WP-Meetup Hannover - 23. Okt. 2013

×