Я смотрю на Maven Wagon Plugin , чтобы попытаться загрузить некоторые артефакты на удаленные общие папки UNC Server (\\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>
Это прекрасно работает для одного сервера , когда я передаю -Dservername=x -Dsharename=y
, но как я могу уменьшить его, чтобы я мог запустить развертывание для QA или Prod, где у меня есть несколько серверы для развертывания на?
Я рассмотрел (и написал) сценарий для запуска mvn wagon:upload -Penvironment#
несколько раз - по одному для каждого сервера - но мне это кажется ошибочным. Если я создаю сценарий для обработки этого процесса, я также могу написать сценарий для всего развертывания. Однако это лишает нас полезности Вагона (и Мэйвена) ...
Есть ли способ запустить несколько <executions>
для одной цели? Например, когда я запускаю mvn deploy -Pqa
?
, запускается несколько профилей, настроенных на задачи
wagon:upload