-
Notifications
You must be signed in to change notification settings - Fork 21
Vagrant
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.
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.
Der Solr Server ist auf den Port 9983 gemappt, um eine Überprüfung des Index zu ermöglichen.
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