2015-10-28 21 views
7

Tôi đang nướng hình ảnh Docker chạy tác vụ Maven trong thời gian chạy. Nó trông giống như thế này:Tải xuống tất cả các phụ thuộc, phụ thuộc plugin, trình biên dịch, v.v ... với Maven?

ADD pom.xml /srv 
ADD src /srv/src 

WORKDIR /srv 
RUN mvn dependencies:go-offline scala:testCompile 

Khi chạy, tôi đang chạy mvn gatling:execute để chạy tiện ích kiểm tra tải.

POM của tôi trông như thế này:

<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> 

Những gì tôi muốn có xảy ra là khi tôi cuối cùng chạy mvn gatling:execute, tôi không muốn phải tải về bất kỳ phụ thuộc, tôi muốn tất cả chúng nướng vào hình ảnh tại thời điểm xây dựng.

Tuy nhiên, thậm chí thực hiện mvn dependencies:go-offline scala:testCompile cũng không giúp tôi có được tất cả các cách đó. Chạy gatling:execute vẫn yêu cầu tải xuống nhiều phụ thuộc hơn.

Làm cách nào để tải xuống hoàn toàn mọi thứ mà Maven yêu cầu vào hình ảnh Docker của tôi, vì vậy không cần tải xuống khi chạy theo thời gian?

+0

Bạn đã thử ràng buộc thực thi Gatling với một pha và xem liệu phụ thuộc: go-offline có chọn nó không? –

+0

Bạn gợi ý điều gì? Tôi xin lỗi, ngày dài, không chắc chắn chính xác những gì bạn muốn nói. –

+0

Something như hội nhập-kiểm tra thực hiện

Trả lời

1

Bạn không nhất thiết phải chạy mô phỏng với plugin maven, phải không? Bạn có thể sử dụng maven để đóng gói một lọ với tất cả các phụ thuộc và thực hiện các Á hậu gatling từ nó.

+0

Tôi biết. Tôi cần một cái gì đó _fast_, tôi không muốn muck xung quanh với các plugin lắp ráp maven tất cả các ngày cố gắng để có được một ứng dụng Scala đóng gói và chạy đúng cách. –

0

Bạn có thể tải về tất cả phụ thuộc sử dụng: mvn dependency:copy-dependencies

Sau này bạn phụ thuộc tất cả các dự án sẽ có sẵn trong thư mục ./target/dependency/.

Các vấn đề liên quan