Sto cuocendo un'immagine Docker che esegue un'attività Maven in fase di esecuzione. Sembra un po 'come questo:Scarica tutte le dipendenze, dipendenze plugin, compilatori, ecc. Con Maven?
ADD pom.xml /srv
ADD src /srv/src
WORKDIR /srv
RUN mvn dependencies:go-offline scala:testCompile
In fase di esecuzione, sto correndo mvn gatling:execute
per eseguire un programma di utilità di test di carico.
mio POM si presenta così:
<project>
<dependencies>
<dependency>
<groupId>io.gatling</groupId>
<artifactId>gatling-core</artifactId>
<version>${gatling.version}</version>
</dependency>
<dependency>
<groupId>io.gatling</groupId>
<artifactId>gatling-http</artifactId>
<version>${gatling.version}</version>
</dependency>
<dependency>
<groupId>io.gatling</groupId>
<artifactId>gatling-app</artifactId>
<version>${gatling.version}</version>
</dependency>
<dependency>
<groupId>io.gatling.highcharts</groupId>
<artifactId>gatling-charts-highcharts</artifactId>
<version>${gatling.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>${scala-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>${gatling-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>execute</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
quello che voglio che accada è che quando alla fine ho eseguito mvn gatling:execute
, io non voglio avere a scaricare eventuali dipendenze, mi piacerebbe che tutti al forno nell'immagine al momento della costruzione.
Tuttavia, anche l'esecuzione di mvn dependencies:go-offline scala:testCompile
non riesce a farmi arrivare fino in fondo. L'esecuzione di gatling:execute
richiede comunque il download di più dipendenze.
Come è possibile scaricare assolutamente tutto ciò che è necessario per Maven nell'immagine Docker, in modo che non occorra scaricare in fase di esecuzione?
Hai provato a legare l'esecuzione di Gatling a una fase e vedere se dipendenze: go-offline lo preleva? –
Che cosa suggerisci? Mi dispiace, lunga giornata, non sono sicuro di cosa intendi esattamente. –
Qualcosa come integrazione-test eseguire –