Teamarbeit fördern. Bugs vermeiden.

Virtuelle Entwicklungs-
umgebung mit Vagrant

Vagrant Logo

Was ist Vagrant?

Entwicklungsumgebungen einfach gemacht.

Erstellung und Verwaltung virtueller Maschinen

Einfache Erstellung einer "Vagrant Box" aus der Vagrant-Cloud mit:
vagrant init unitize/base-box

Info: Vagrant-Cloud Account benötigt! Einloggen vorab mit: vagrant login

Konfiguration einer "Box" über die Vagrantfile.

Verwendung der VM  ausschließlich über die Command-Line.

Nutzung von Virtualisierungssoftware

Unterstützt virtualBox, VMware, Hyper-V etc.

Arbeitet mit "Boxes", die eine Art Klon von einem Image einer VM sind

VagrantCloud bietet fertige Boxes zum Integrieren

Leichte Konfiguration

Konfiguration mit Vagrantfile.

config.vm.box = 'unitize/base-box'
config.vm.synced_folder '.', '/vagrant'
config.vm.network 'forwarded_port', guest: 80, host: 8080

Leichte Bedienung

Starten bzw. Stoppen einer Vagrant Box mit folgenden Befehlen:
Start: vagrant up
Stop: vagrant halt

Zugriff auf die VM mit: vagrant ssh

Unkomplizierte Verbreitung

Um eine Entwicklungsumgebung mit seinem Team zu teilen, muss lediglich die Vagrantfile verbreitet werden. Mit vagrant up wird die VM automatisch erstellt und bietet so jedem die exakt gleiche Umgebung.

Viele Möglichkeiten der Erweiterung

Erweiterbar durch z.B. Ansible.
Ansible automatisiert u.a. Installationen oder Deployments.

Überall einsetzbar

Vagrant arbeitet auf allen gängigen Betriebssystemen wie macOS, Linux oder Windows.

Jeder Entwickler kann so sein favorisiertes OS nutzen.

Kostenlos, Open-Source und leicht zu lernen!

Versionsverwaltung Git

Jedes Software-Projekt sollte heutzutage versioniert sein. In einem typischen Vagrant Setup für ein Web-Projekt sollten folgenden Dateien versioniert werden:

  • Vagrantfile
  • /public
  • .gitignore

Je nach Projekt: Andere Dateien oder Verzeichnisse im Projekt-Hauptverzeichnis.

  1. Vagrant für das entsprechende OS herunterladen
  2. VirtualBox (oder VMware, Hyper-V) herunterladen
  3. Projekt Ordner erstellen: mkdir my-project
  4. Vagrant initialisieren:
    1. cd my-project
    2. vagrant init unitize/base-box
    3. Ggf. muss man sich zuvor mit vagrant login anmelden
  5. Vagrantfile bearbeiten:
    1. config.vm.synced_folder '.', '/vagrant'
    2. config.vm.network 'forwarded_port', guest: 80, host: 8080
  6. Vagrant starten: vagrant up

Da unsere BaseBox für die Entwicklung mit Symfony ausgelegt ist sollten eure Projekt-Dateien in dem Verzeichnis /public liegen.

Solltet Ihr nun über den Browser mit 127.0.0.1:8080 auf die VM zugreifen werden die in /public liegenden PHP- oder HTML Dateien ausgespielt.

Die unitize/base-box
Gerne teilen wir unsere Box. Damit Du sie nutzen kannst ist sie über die VagrantCloud frei nutzbar. Einfach vagrant init unitize/base-box und los geht es. VagrantCloud Profil

Info: Da wir unsere Projekte meist in Symfony 4 umsetzen, müssen die relevanten Dateien im /public Verzeichnis liegen!