Browse Source

UPDATE:新增m2构建缓存和springboot多模块方式构建注释

lj 1 year ago
parent
commit
2843b8d140
4 changed files with 33 additions and 51 deletions
  1. 3 1
      .mvn/wrapper/maven-wrapper.properties
  2. 27 9
      Dockerfile
  3. 3 0
      Makefile
  4. 0 41
      pom.xml_init

+ 3 - 1
.mvn/wrapper/maven-wrapper.properties

@@ -1,7 +1,9 @@
+#建议使用本地web服务器下载apache-maven-3.8.6-bin.zip
+distributionUrl=file:/opt/app/apache-maven-3.8.6-bin.zip
 # distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
 wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
 
 
-distributionUrl=file:/opt/app/apache-maven-3.8.6-bin.zip
+
 MVNW_VERBOSE=true
 # MVNW_REPOURL=https://maven.aliyun.com/repository/public

+ 27 - 9
Dockerfile

@@ -7,21 +7,39 @@ COPY mvnw .
 #mvnw env
 ENV MVNW_VERBOSE=true
 # ENV MVNW_REPOURL=https://maven.aliyun.com/repository/public
-#初始化pom.xml依赖
-COPY pom.xml_init pom.xml
-RUN ./mvnw dependency:go-offline --settings /opt/app/settings.xml
-#更新pom.xml依赖
-COPY pom.xml .
-RUN ./mvnw dependency:go-offline  --settings /opt/app/settings.xml
+
+##弃用
+##初始化pom.xml依赖
+#COPY pom.xml_init pom.xml
+#RUN ./mvnw dependency:go-offline --settings /opt/app/settings.xml
+##更新pom.xml依赖
+#COPY pom.xml .
+#RUN ./mvnw dependency:go-offline  --settings /opt/app/settings.xml
 #编译jar
+
+##multiple springboot project
+##project env
+##项目目录需要传入,默认evse-config-server
+#ARG prodir=evse-config-server
+#ENV PRODIR $prodir
+##移动mvnw文件到子模块目录
+#RUN mv mvnw $prodir/ && \
+#    mv .mvn $prodir/
+##编译jar
+#RUN --mount=type=cache,id=m2-cache,sharing=shared,target=/root/.m2 \
+#    cd $prodir &&./mvnw clean package -DskipTests -U --settings /opt/app/settings.xml
+
+#singe springboot project
 COPY src src
-RUN ./mvnw package -DskipTests -U --settings /opt/app/settings.xml
+#编译jar
+RUN --mount=type=cache,id=m2-cache,sharing=shared,target=/root/.m2 \
+    ./mvnw clean package -DskipTests -U --settings /opt/app/settings.xml
 
 
 FROM registry-vpc.cn-hangzhou.aliyuncs.com/xiaoquio/oraclejre:8-201.3.0
 WORKDIR /opt/app
 COPY --from=build /opt/app/target/*.jar app.jar
 
-EXPOSE 8888
+EXPOSE 8989
 #ENV JAVA_OPTS=""
-#ENTRYPOINT [ "java", "-jar", "/opt/app/app.jar", "--spring.profiles.active=evse-eureka-peer1" ]
+ENTRYPOINT ["java", "-javaagent:/opt/app/jmx_prometheus_javaagent.jar=9000:/opt/app/prometheus-jmx-config.yaml", "-Xms128m", "-Xmx2048m", "-Dfile.encoding=UTF-8", "-jar", "/opt/app/app.jar"]

+ 3 - 0
Makefile

@@ -7,6 +7,9 @@ default: build
 build:
 	docker build -t $(NAME):$(TAG) .
 
+build-multi:
+	docker build -t $(NAME):$(TAG) . --build-arg prodir=$(NAME)
+
 tag:
 	docker tag $(NAME):$(TAG) $(REGISTRY)/$(NAME):$(TAG)
 

+ 0 - 41
pom.xml_init

@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.7.5</version>
-        <relativePath/> <!-- lookup parent from repository -->
-    </parent>
-    <groupId>com.example</groupId>
-    <artifactId>test</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-    <name>test</name>
-    <description>Demo project for Spring Boot</description>
-    <properties>
-        <java.version>1.8</java.version>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>