Dockerfile 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. FROM openjdk:17 AS builder
  2. ARG configFile
  3. COPY $configFile /app/config.yaml
  4. COPY src /app/src
  5. COPY gradle /app/gradle
  6. COPY build.gradle settings.gradle gradle.properties gradlew /app/
  7. WORKDIR /app
  8. RUN ./gradlew assemble
  9. FROM openjdk:17 AS test
  10. COPY --from=builder /app/config.yaml /app/
  11. COPY --from=builder /app/build /app/build
  12. COPY --from=builder /app/gradle /app/gradle
  13. COPY --from=builder /app/build.gradle /app/
  14. COPY --from=builder /app/settings.gradle /app/
  15. COPY --from=builder /app/gradle.properties /app/
  16. COPY --from=builder /app/gradlew /app/
  17. WORKDIR /app
  18. RUN ./gradlew test
  19. FROM openjdk:17-jdk-slim-buster AS production
  20. COPY --from=builder /app/config.yaml /app/
  21. COPY --from=builder /app/build/libs/ /app/
  22. COPY --from=builder /app/gradle.properties /app/
  23. WORKDIR /app
  24. CMD java -cp "messaging.jar" cz.senslog.messaging.app.Main
  25. FROM openjdk:17-jdk-slim-buster AS dev-debug
  26. COPY --from=builder /app/config.yaml /app/
  27. COPY --from=builder /app/build/libs/ /app/
  28. COPY --from=builder /app/gradle.properties /app/
  29. WORKDIR /app
  30. CMD java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -cp "messaging.jar" cz.senslog.messaging.app.Main