Skip to content

Übung 2 | Development Setup

Christoph Kindl edited this page Jun 21, 2014 · 23 revisions

Vagrant

Vagrant ermöglicht es einfach und schnell eine Development Umgebung in einer VM einzurichten. Jede Vagrant VM baut auf einer sogenannten Box auf (im Prinzip eine vorinstalliertes VM image) und wird dann per Provisioning (z.B. Skript, Puppet, Docker, etc.) angepasst. Vagrant verwendet zur Konfiguration der VM die Datei Vagrantfile. Nähere Infos zur Konfiguration von Vagrant sind unter http://docs.vagrantup.com/v2/ zu finden.

Installation

  1. Virtualbox (https://www.virtualbox.org) installieren
  2. Vagrant selbst (http://www.vagrantup.com) installieren
  3. Repository klonen und VM starten: vagrant up (dauert...)
  4. per SSH auf VM anmelden: vagrant ssh

Die VM basiert auf Ubuntu Server 14.04 x64. Das Boot Skript installiert Oracle JDK 7 und das Play Framework.

Nutzung

  • VM starten: vagrant up (VM bootet, dauert einige Minuten; unter Windows wird zudem ein SSH-Client für die Kommandozeile benötigt: http://sshwindows.sourceforge.net/)
  • VM stoppen: vagrant halt
  • per SSH auf VM anmelden: vagrant ssh
    • Benutzer: vagrant
    • Home-VZ: home/vagrant
    • Shared Folder: /vagrant
  • VM löschen: vagrant destroy (neuerliches vagrant up erzeugt die VM neu)

Troubleshooting Tipps

  • Falls vagrant up nach einiger Zeit immer noch default: Warning: Connection timeout. Retrying... ausgibt, konnte die VM nicht booten (bei mir aufgrund eines Kernel Panics, der ab und an beim Start auftritt). Mit Hilfe der VirtualBox GUI kann das Herunterfahren der VM erzwungen werden.

  • Für detailliertere Fehlerinformationen, warum die VM nicht bootet, kann man sich innerhalb der VirtualBox GUI per Rechtsklick auf die entsprechende VM die dazupassende Log-Datei ansehen.

  • Bei manchen Rechnern muss die Hardware-Virtualisierung im BIOS aktiviert werden, damit die VM starten kann. In diesem Fall wird eine entsprechende Fehlermeldung im Log ausgegeben.

  • Falls das bootstrap.sh - Skript nicht funktioniert, zuerst überprüfen ob der Pfad zur Shell im .sh-Skript stimmt (erste Zeile). Unter Windows müssen die Zeilenumbrüche im File zudem erst mit "dos2unix bootstrap.sh" entsprechend konvertiert werden.

Play Framework

http://www.playframework.com/documentation

Entwicklungsumgebung einrichten: http://www.playframework.com/documentation/2.2.x/IDE (Eclipse, IDEA werden supported)

  • Play-Konsole starten: play (im /vagrant/csdr-g1 Verzeichnis)
  • Applikation starten: run
  • [ Bei leerer DB: PopulateDb Controller Actions /populate/categories + /populate/transportTypes ausführen! ]

IDE: Eclipse

Scala und Play Plugins installieren

Projekt Konfiguration

Gulp / SASS

  • gulp sass erzeugt aus den SASS (http://sass-lang.com/guide) Files ein komprimiertes CSS-File (screen.min.css) für die Applikation. Änderungen der Styles nur in den SCSS-Files!