فهرست منبع

feat: multi build

zhangyuting 5 سال پیش
والد
کامیت
4152a90e1b
3فایلهای تغییر یافته به همراه29 افزوده شده و 9 حذف شده
  1. 4 0
      .dockerignore
  2. 8 0
      pom.xml
  3. 17 9
      src/main/docker/Dockerfile

+ 4 - 0
.dockerignore

@@ -0,0 +1,4 @@
+# Created by .ignore support plugin (hsz.mobi)
+.idea
+
+target

+ 8 - 0
pom.xml

@@ -66,6 +66,14 @@
 					<fork>true</fork><!-- 热部署 -->
 				</configuration>
 			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<version>2.22.2</version>
+				<configuration>
+					<skipTests>true</skipTests>
+				</configuration>
+			</plugin>
 		</plugins>
 	</build>
 

+ 17 - 9
src/main/docker/Dockerfile

@@ -1,22 +1,30 @@
-FROM openjdk:8-jdk-alpine
-
-ARG JAR_FILE=target/*.jar
+FROM openjdk:8-jdk-alpine AS builder
 
 WORKDIR /app
 
-COPY ${JAR_FILE} /app/app.jar
+COPY . .
 
 RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories && \
     apk update && \
-    apk add --no-cache tzdata && \
-    # 时区
-    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone && \
-    addgroup -S spring && adduser -S spring -G spring && \
-    ulimit -c unlimited && \
+    apk add --no-cache tzdata dos2unix && \
+    # 编译
+    chmod +x ./mvnw && \
+    ./mvnw package && \
     ls -la
 
+FROM openjdk:8-jre-alpine as runner
+
+WORKDIR /app
+
+RUN addgroup -S spring && adduser -S spring -G spring && ls -la && pwd
+
 USER spring:spring
 
+COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
+COPY --from=builder /app/target/*.jar /app/app.jar
+
+RUN ls -la && pwd
+
 EXPOSE 8080
 
 CMD ["java","-Xms1024m","-Xmx1024m","-jar","/app/app.jar"]