-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.subscriptions_holder
More file actions
40 lines (29 loc) · 1.38 KB
/
Dockerfile.subscriptions_holder
File metadata and controls
40 lines (29 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
ARG BUILD_HOME=/app
FROM gradle:9.2.1-jdk21-jammy AS build
#FROM --platform=linux/arm64 gradle:8.6.0-jdk17
ARG BUILD_HOME
ENV APP_HOME=$BUILD_HOME
WORKDIR $APP_HOME
ARG SERVICE_NAME=subscriptions_holder
COPY . ./
RUN ["/bin/bash", "-c", "gradle :$SERVICE_NAME:clean :$SERVICE_NAME:bootJar -x test"]
FROM eclipse-temurin:21.0.2_13-jre-alpine
LABEL authors="turtality"
ARG TZ=Europe/Moscow
ENV TZ=${TZ}
ARG BUILD_HOME
ENV APP_HOME=$BUILD_HOME
WORKDIR $BUILD_HOME
ENV SERVICE_NAME=subscriptions_holder
ARG JAR_VERSION
ENV ENV_JAR_VERSION=$JAR_VERSION
ENV ENV_PATH_BUILD_JAR=$APP_HOME/$SERVICE_NAME/build/libs/$SERVICE_NAME-$JAR_VERSION.jar
ENV ENV_PATH_TO_JAR=$SERVICE_NAME-$JAR_VERSION.jar
ARG SUBSCRIPTIONS_HOLDER_SERVICE_JASYPT_PARAMS=""
ARG JVM_PARAMS=""
RUN echo "$TZ" > /etc/timezone && apk --no-cache add curl
COPY --from=build ./$ENV_PATH_BUILD_JAR ./
# entrypoint не работает с шеллом, работает только ARG переменные
# не работает с переменными вообще. нужно использовать голый entrypoint
# ENTRYPOINT ["java", "-Djasypt.encryptor.password=${JASYPT_PASSWORD}", "-Djasypt.encryptor.algorithm=PBEWithMD5AndDES", "-Djasypt.encryptor.ivGeneratorClassName=org.jasypt.iv.NoIvGenerator", "-jar", "$ENV_PATH_TO_JAR"]
CMD java ${SUBSCRIPTIONS_HOLDER_SERVICE_JASYPT_PARAMS} ${JVM_PARAMS} -jar ${ENV_PATH_TO_JAR}