我正在研究Maven Wagon插件以尝试将一些工件上传到远程UNC服务器共享(\\servername\share\directory\to\put\to),并且我已将其配置为在POM中如此工作:
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-file</artifactId>
<version>1.0-beta-7</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<executions>
<execution>
<id>upload-jar-to-folder</id>
<phase>deploy</phase>
<goals>
<goal>upload</goal>
</goals>
</execution>
</executions>
<configuration>
<fromDir>${project.build.directory}</fromDir>
<includes>*</includes>
<url>file://localhost///${servername}/${sharename}</url>
<toDir>directory/to/put/artifact</toDir>
</configuration>
</plugin>
...
</build>
Run Code Online (Sandbox Code Playgroud)
当我传入时,这适用于一台服务器-Dservername=x -Dsharename=y,但是如何将其扩展,以便我可以为QA或Prod运行部署,我需要部署多台服务器?
我已经考虑(并编写)了一个mvn wagon:upload -Penvironment#多次运行的脚本- 每个服务器一次 - 但这对我来说似乎有瑕疵.如果我正在炮轰一个脚本来处理这个过程,我也可以编写整个部署的脚本.然而,这剥夺了Wagon(和Maven)的实用性......
有没有办法<executions>为一个目标运行多个?例如,wagon:upload在我刚运行时运行多个配置文件配置的任务mvn deploy -Pqa?