我正在编写用于本地设置自动化的流浪文件。通过流浪者,我正在为我的应用程序创建docker镜像,并在vm中运行它。一切都在一个命令下,即vagrant up
但有一件事我必须手动完成,即使用mvn clean package
为我的应用程序创建jar文件。
我想知道是否有任何方法可以从流浪文件运行mvn命令,这样当我发出vagrant up
时,它应该构建JAR并完成其余的工作。
正如@Patrick所提到的,shell配置非常适合-我个人使用gradle,但maven也可以这样做。以下是我如何将脚本称为
config.vm.provision "shell", path: "script/run-test.sh", privileged: false, run: 'always'
path
:是我的shell脚本在项目目录中的路径privileged
:如果没有设置,root将运行该脚本,如果maven是为您的流浪用户安装的,请确保将其设置为false,否则您将看到问题run: 'always'
:这是我的用例(由您选择是否对您有意义),当我运行vagrant up
时,脚本将始终运行
shell脚本将类似于
#!/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
这是一个例子,基本上第一次创建实例时,它会克隆git repo,然后从git最新文件中提取并运行maven命令。
同样,这是一个简单的例子,将其用于您自己的需要