Ich untersuche die Maven Wagon Plugin um zu versuchen, einige Artefakte auf entfernte UNC-Server-Freigaben hochzuladen ( \\servername\share\directory\to\put\to
), und ich habe es so konfiguriert, dass es in der POM so funktioniert:
<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>
Das funktioniert hervorragend für einen Server wenn ich eintrete -Dservername=x -Dsharename=y
aber wie kann ich es so skalieren, dass ich ein Deployment für QA oder Prod durchführen kann, wo ich mehrere Server zu verteilen habe?
Ich habe ein Skript in Erwägung gezogen (und geschrieben), das Folgendes ausführt mvn wagon:upload -Penvironment#
mehrere Male - einmal für jeden Server -, aber das scheint mir fehlerhaft zu sein. Wenn ich ein Skript für diesen Prozess benötige, könnte ich genauso gut die gesamte Bereitstellung in einem Skript abwickeln. Dies nimmt jedoch von der Nützlichkeit von Wagon (und Maven) weg...
Gibt es eine Möglichkeit zur Ausführung mehrerer <executions>
für ein Ziel? Zum Beispiel die Ausführung mehrerer konfigurierter Profile wagon:upload
Aufgaben, wenn ich einfach mvn deploy -Pqa
?