Guest User

Untitled

a guest
Dec 10th, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. ARG BUILD_IMAGE=maven:3.5-jdk-11
  2. ARG RUNTIME_IMAGE=openjdk:11-jdk-slim
  3.  
  4. #############################################################################################
  5. ### Stage where Docker is pulling all maven dependencies ###
  6. #############################################################################################
  7. FROM ${BUILD_IMAGE} as dependencies
  8.  
  9. ARG PROXY_SET=false
  10. ARG PROXY_HOST=
  11. ARG PROXY_PORT=
  12.  
  13. COPY pom.xml ./
  14.  
  15. RUN mvn -B dependency:go-offline \
  16. -DproxySet=${PROXY_SET} \
  17. -DproxyHost=${PROXY_HOST} \
  18. -DproxyPort=${PROXY_PORT}
  19. #############################################################################################
  20.  
  21. #############################################################################################
  22. ### Stage where Docker is building spring boot app using maven ###
  23. #############################################################################################
  24. FROM dependencies as build
  25.  
  26. ARG PROXY_SET=false
  27. ARG PROXY_HOST=
  28. ARG PROXY_PORT=
  29.  
  30. COPY src ./src
  31.  
  32. RUN mvn -B clean package \
  33. -DproxySet=${PROXY_SET} \
  34. -DproxyHost=${PROXY_HOST} \
  35. -DproxyPort=${PROXY_PORT}
  36. #############################################################################################
  37.  
  38. #############################################################################################
  39. ### Optional stage where Docker is running Sonar analysis ###
  40. #############################################################################################
  41. FROM build
  42.  
  43. ARG SONAR_ENABLED=false
  44. ARG SONAR_URL=
  45. ARG SONAR_ORGANIZATION=
  46. ARG SONAR_USERNAME=
  47. ARG SONAR_PASSWORD=
  48. ARG SONAR_BRANCH=
  49.  
  50. RUN if [ "$SONAR_ENABLED" = "true" ] ; \
  51. then mvn -B sonar:sonar \
  52. -Dsonar.host.url=${SONAR_URL} \
  53. -Dsonar.organization=${SONAR_ORGANIZATION} \
  54. -Dsonar.branch.name=${SONAR_BRANCH} \
  55. -Dsonar.login=${SONAR_USERNAME} \
  56. -Dsonar.password=${SONAR_PASSWORD}; \
  57. fi
  58. #############################################################################################
  59.  
  60. #############################################################################################
  61. ### Stage where Docker is running a java process to run a service built in previous stage ###
  62. #############################################################################################
  63. FROM ${RUNTIME_IMAGE}
  64.  
  65. COPY --from=build /app/target/eventstore-*.jar /app/service.jar
  66.  
  67. CMD ["/usr/bin/java", "-jar", "/app/service.jar"]
  68. #############################################################################################
Add Comment
Please, Sign In to add comment