Domanda

Sto esaminando la Maven Wagon Plugin per tentare caricando alcuni artefatti a azioni server remoto UNC (\\servername\share\directory\to\put\to), e ho ottenuto è configurato per funzionare in questo modo nel 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>

Questa grande opera per un server quando passo in -Dservername=x -Dsharename=y, ma come posso scalare fuori in modo da poter eseguire un deploy per QA o Prod dove ho multipla server per distribuire a?

Ho considerato (e scritto) uno script da eseguire mvn wagon:upload -Penvironment# più volte - una volta per ogni server - ma questo sembra viziata per me. Se sto sborsare per uno script per gestire questo processo, ho potuto altrettanto bene lo script l'intero Deploy, anche. Tuttavia, questo toglie dalla utilità del carro (e Maven) ...

C'è un modo per eseguire <executions> multiplo per un obiettivo? Per esempio, l'esecuzione di più attività wagon:upload profilo configurato quando ho appena eseguito mvn deploy -Pqa?

È stato utile?

Soluzione

Se si desidera utilizzare più profili si potrebbe utilizzare: mvn deploy -Denv=qa e innescare alcuni profili su questa proprietà e definire la configurazione per le recide nei profili. Per questo tipo di profilo sguardo di attivazione a

http://maven.apache.org/guides/introduction/ introduzione-to-profiles.html

e cercare

-Denvironment = test

Ecco un esempio POM che fa due esecuzioni del Maven-antrun-plugin in una costruzione:

 <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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top