wie @Patrick erwähnt, die Shell-Provisioning ist eine gute Passform - ich persönlich für Gradle verwenden, aber das gleiche kann für Maven getan werden. Hier ist, wie nenne ich mein Skript
config.vm.provision "shell", path: "script/run-test.sh", privileged: false, run: 'always'
path
: ist der Weg für mein Shell-Skript aus dem Projektverzeichnis
privileged
: wenn nicht gesetzt, root wird das Skript ausführen, wenn Maven für installiert ist Ihre vagrant user, stellen Sie sicher, es auf false setzen sonst sehen Sie Problem
run: 'always'
: das ist mein Anwendungsfall (bis zu wählen, wenn es für Sie Sinn macht), wird das Skript immer ausgeführt, wenn ich vagrant up
ausführen
das Shell-Skript so etwas wie
#!/bin/bash
if [ -d "/home/vagrant/test" ];then
cd /home/vagrant/test && git pull
cd /home/vagrant/test && maven compile
cd /home/vagrant/test && maven deploy
.....
else
git clone <your project> /home/vagrant/test
fi
Dies ist ein Beispiel, im Grunde erstes Mal, dass ich eine Instanz erstellt wird es ein Git-Repo-Klon wird - dann wird es von git neuesten Dateien ziehen und Ihre Maven Befehl ausführen.
Auch dies ist ein einfaches Beispiel, verwenden Sie es für Ihren eigenen Bedarf
Sie könnten wahrscheinlich dieses Problem lösen, indem [vagrant Provisioning] mit (https://www.vagrantup.com/docs/provisioning/). Vielleicht ist der Shell-Provisioner für Sie geeignet. – Patrick