Я выпекаю образ Docker, который запускает задачу Maven во время выполнения. Это выглядит примерно так:
ADD pom.xml /srv
ADD src /srv/src
WORKDIR /srv
RUN mvn dependencies:go-offline scala:testCompile
Во время выполнения я запускаю mvn gatling:execute
для запуска утилиты нагрузочного тестирования.
Мой ПОМ выглядит так:
<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>
Что я хочу, так это то, что когда я в конечном итоге запущу mvn gatling:execute
, я не хочу загружать какие-либо зависимости, я хочу, чтобы они все были встроены в образ во время сборки.
Однако даже выполнение mvn dependencies:go-offline scala:testCompile
не доводит меня до конца. Запуск gatling:execute
по-прежнему требует загрузки дополнительных зависимостей.
Как я могу загрузить абсолютно все, что требуется Maven, в мой образ Docker, чтобы не требовалось никаких загрузок во время выполнения?
gatling:execute
без массового взлома конечной точки;) - person Naftuli Kay   schedule 28.10.2015mvn gatling:execute
, но я бы хотел, чтобы все зависимости были скомпилированы в образ во время сборки, а не во время выполнения. Я бы хотел избежать ожидания загрузки Maven из Интернета во время запуска контейнера Docker. - person Naftuli Kay   schedule 28.10.2015dependency:go-offline
, верно? Обычно maven проверяет зависимости SNAPSHOT один раз в день. У вас есть? Также попробуйте включить автономный режим при запуске execute:mvn -o gatling:execute
. - person ivant   schedule 28.10.2015