Dockerfile 886 B

123456789101112131415161718192021222324252627282930313233
  1. FROM adoptopenjdk/openjdk11:jdk-11.0.10_9-debian AS builder
  2. ARG config_file
  3. ARG module
  4. COPY src /app/src
  5. COPY connector-app /app/connector-app
  6. COPY connector-core /app/connector-core
  7. COPY connector-model /app/connector-model
  8. COPY $module /app/$module
  9. COPY $config_file /app/config.yaml
  10. COPY gradle /app/gradle
  11. COPY build.gradle settings.gradle gradlew /app/
  12. WORKDIR /app/
  13. RUN ./gradlew assemble
  14. FROM adoptopenjdk/openjdk11:jdk-11.0.10_9-debian AS unitTest
  15. COPY . /app/
  16. WORKDIR /app
  17. RUN ./gradlew unitTest
  18. FROM adoptopenjdk/openjdk11:jdk-11.0.10_9-debian AS integrationTest
  19. COPY . /app/
  20. WORKDIR /app
  21. RUN ./gradlew integrationTest
  22. FROM adoptopenjdk/openjdk11:jre-11.0.10_9-alpine AS production
  23. ENV port 8080
  24. WORKDIR /app
  25. COPY --from=builder /app/bin/libs /app/bin
  26. COPY --from=builder /app/config.yaml /app/
  27. EXPOSE $port
  28. CMD java -cp "bin/*" io.connector.Main -cf config.yaml -p $port