plugin Maven Wagon: wagon Can: le téléchargement de téléchargement à plusieurs endroits?

StackOverflow https://stackoverflow.com/questions/4360958

  •  08-10-2019
  •  | 
  •  

Question

Je suis à la recherche dans le Maven Wagon Plugin pour tenter ajout de certains objets à actions de serveur distant UNC (de \\servername\share\directory\to\put\to) et moi-même avons obtenu il configuré pour fonctionner comme si dans le 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>

Cela fonctionne très bien pour un serveur quand je passe à -Dservername=x -Dsharename=y, mais comment puis-je l'échelle dehors pour que je puisse exécuter un Deploy QA ou Prod où j'ai plusieurs serveurs de déployer à?

Je l'ai considéré (et écrit) un script à exécuter mvn wagon:upload -Penvironment# plusieurs fois - une fois pour chaque serveur - mais cela me semble erronée. Si je suis bombardements à un script pour gérer ce processus, je ne pouvais tout comme script bien le Déployez entier, aussi. Cependant, cela enlève de l'utilité du Wagon (et Maven) ...

Est-il possible d'exécuter plusieurs <executions> pour un but? Par exemple, en cours d'exécution multiples configuré profil tâches de wagon:upload quand je viens de lancer mvn deploy -Pqa?

Était-ce utile?

La solution

Si vous voulez utiliser plusieurs profils que vous pouvez simplement utiliser: mvn deploy -Denv=qa et déclencher certains profils sur cette propriété et définir la configuration de vos Severs dans les profils. Pour ce genre de look activation du profil à

http://maven.apache.org/guides/introduction/ l'introduction à profiles.html

et la recherche de

-Denvironment = test

Voici un exemple POM qui fait deux exécutions du maven-plugin-antrun dans un build:

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.stackoverflow</groupId>
  <artifactId>q5328617</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <profiles>
    <profile>
        <activation>
            <property>
                <name>env</name>
                <value>qa</value>
            </property>
        </activation>
        <id>qa1</id>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <executions>
                      <execution>
                        <id>qa1</id>
                        <phase>test</phase>
                        <configuration>
                            <tasks>
                                <echo level="info">Executing qa1</echo>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                      </execution>
                    </executions>
                    <dependencies>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    </profile>
    <profile>
        <activation>
            <property>
                <name>env</name>
                <value>qa</value>
            </property>
        </activation>
        <id>qa2</id>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <executions>
                      <execution>
                        <id>qa2</id>
                        <phase>test</phase>
                        <configuration>
                            <tasks>
                                <echo level="info">Executing qa2</echo>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                      </execution>
                    </executions>
                    <dependencies>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    </profile>
  </profiles>
</project>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top