Skip to content

Vagrant

Jens Schwidder edited this page Jan 27, 2022 · 4 revisions

Mit Vagrant lässt sich mit einem Kommando eine Virtuelle Maschine erzeugen, die für Tests verwendet werden kann. Insbesondere der Test von OPUS 4 Versionen auf Branches ist damit sehr einfach. Das funktioniert mit Linux, Windows oder Mac OS-X. Es müssen Vagrant und VirtualBox installiert sein.

Die OPUS 4 Dateien liegen dabei im lokalen Dateisystem und können mit einem beliebigen Editor bearbeitet werden. Innerhalb der VM ist das Verzeichnis unter /vagrant verfügbar.

Die VM basiert auf Ubuntu 20.04. Die Vagrant Konfiguration findet sich in der Datei Vagrantfile.

Mehr Information sind auf der Vagrant Webseite verfügbar. https://www.vagrantup.com/intro

VirtualBox unterstützt nicht den M1-Chip von Apple. Daher ist die Nutzung von Vagrant auf Apple Systemen mit M1 nicht möglich.

Vagrant sollte nicht mit bereits konfigurierten Instanzen genutzt werden, da die Konfigurationsdateien, wie config.ini und apache.conf, bei der Initialisierung (provisioning) überschrieben werden.

OPUS 4 mit Vagrant testen

Das folgende soll nur einen sehr kurzen Überblick geben wie Vagrant mit OPUS 4 genutzt werden kann. Die Anleitung bezieht sich auf die OPUS 4 Application, aber VMs können für die Entwicklung aller OPUS 4 Pakete verwendet werden.

Wenn Vagrant und VirtualBox installiert sind, kann man das application Repository clonen.

$ git clone https://github.com/OPUS4/application opus4

Anschließend kann man im Root-Verzeichnis von OPUS 4 eine VM mit Vagrant erzeugen.

$ cd opus4
$ vagrant up

Beim ersten Aufbau der VM dauert es länger, weil die notwendigen Ressourcen heruntergeladen werden müssen und die VM vorbereitet werden muss. Insbesondere das Herunterladen der Composer Dependencies dauert manchmal etwas länger.

Während des Aufbaus der VM werden viele Meldungen ausgeben, manche von ihnen in rot, z.B. die Meldungen von Composer. Das muss nicht heißen, dass es nicht funktioniert. Wenn der Aufbau aufgrund eines Fehlers abgebrochen wurde kann man das in der Regel an der letzten Meldung erkennen.

Wenn der Aufbau fertig ist kann man OPUS 4 im Browser unter Port 8080 aufrufen. Die Instanz ist mit den Testdaten initialisiert.

http://localhost:8080/opus4

Der Solr Server ist auf den Port 9983 gemappt, um eine Überprüfung des Index zu ermöglichen.

http://localhost:9983/solr

Man kann sich mit SSH in die VM einloggen.

$ vagrant ssh

Innerhalb der VM befinden sich die OPUS 4 Dateien im Verzeichnis /vagrant. Dieser Ordner ist mit dem Host-System synchronisiert. Man kann die üblichen Kommandos verwenden, um mit der OPUS 4 Instanz zu arbeiten, z.B. um die Composer Pakete zu aktualisieren. Mit logout kann man die VM verlassen.

Die VM lässt sich anhalten.

$ vagrant halt

Beim nächsten Start werden die Schritte für die Initialisierung (provisioning) nicht mehr ausgeführt und die VM startet wesentlich schneller. Die Composer Pakete und andere Ressourcen werden nicht automatisch aktualisiert.

$ vagrant up

Man kann eine erneute Initialisierung erzwingen.

$ vagrant provision

Die VM kann komplett gelöscht werden.

$ vagrant destroy
Clone this wiki locally