# 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"]