# todo: dockerfile 考虑自动生成

FROM maven:3.6.1 AS compile_stage

ENV PROJECT_NAME app
# 项目所在的工作目录
ENV WORK_PATH /opt/$PROJECT_NAME

# 项目所在的git分支
ENV GIT_BRANCH internal-paas

ENV GIT_URL http://gogs.seec.seecoder.cn/FanYanPeng/SEEC-Gitlab.git

# 跳转到工作目录
WORKDIR $WORK_PATH

RUN git clone --branch $GIT_BRANCH $GIT_URL .

RUN mkdir /root/.m2 && cp settings.xml /root/.m2/settings.xml

# 多线程下载依赖，只要pom文件不改变，依赖不会重复下载
RUN mvn clean install -DskipTests -DfinalName=$PROJECT_NAME

COPY . .

# ---
# 默认情况下，前面的步骤都会被缓存下来

# 多线程下载依赖，只要pom文件不改变，依赖不会重复下载
RUN mvn clean install -DskipTests -DfinalName=$PROJECT_NAME

FROM seecjdk/adoptzh-jre

ENV PROJECT_NAME app
ENV WORK_PATH /opt/$PROJECT_NAME
ENV MODELE_NAME seecoder-gitlab-server

WORKDIR /app
COPY --from=compile_stage $WORK_PATH/$MODELE_NAME/target/$PROJECT_NAME.jar .
CMD ["sh", "-c", "java -Xdebug -Xrunjdwp:transport=dt_socket,address=8888,server=y,suspend=n -jar -server /app/$PROJECT_NAME.jar"]