From 6723805131e5d316bb2701a3c89a086bf86635d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B4=AA=E6=97=AD?= Date: Fri, 29 Jul 2022 10:54:32 +0800 Subject: [PATCH] dockerfile-maven-plugin --- Deployment.yml | 74 ++++++++++++++++++++++++++++++ Dockerfile | 17 +++++++ pom.xml | 18 ++++++++ ruoyi-auth/pom.xml | 43 +++++++++++++++++ ruoyi-gateway/pom.xml | 43 +++++++++++++++++ ruoyi-modules/pom.xml | 2 + ruoyi-modules/ruoyi-file/pom.xml | 43 +++++++++++++++++ ruoyi-modules/ruoyi-gen/pom.xml | 43 +++++++++++++++++ ruoyi-modules/ruoyi-job/pom.xml | 43 +++++++++++++++++ ruoyi-modules/ruoyi-system/pom.xml | 45 +++++++++++++++++- 10 files changed, 370 insertions(+), 1 deletion(-) create mode 100644 Deployment.yml create mode 100644 Dockerfile diff --git a/Deployment.yml b/Deployment.yml new file mode 100644 index 00000000..15c3417a --- /dev/null +++ b/Deployment.yml @@ -0,0 +1,74 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: ${project.artifactId} + namespace: ${env.NAME_SPACE} + labels: + app: ${project.artifactId} +spec: + replicas: ${deployment.spec.replicas} + selector: + matchLabels: + app: ${project.artifactId} + template: + metadata: + labels: + app: ${project.artifactId} + spec: + containers: + - name: ${project.artifactId} + image: '${docker.repository}/${project.artifactId}:${project.version}' + ports: + - name: http-server + containerPort: 9000 + protocol: TCP + - name: job-agent-server + containerPort: 9999 + protocol: TCP + env: + - name: APP_PORT + value: '9000' + - name: APP_DEPLOY + value: '${env.APP_DEPLOY}' + - name: NACOS_SERVER_IP + value: 'nacos-server.${env.NAME_SPACE}.${env.DOMAIN_NAME}' + - name: NACOS_SERVER_PORT + value: '8848' + - name: SW_AGENT_NAMESPACE + value: ${env.NAME_SPACE} + - name: SW_AGENT_NAME + value: ${project.artifactId} + - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES + value: ${env.NAME_SPACE}-skywalk-skywalking-oap.${env.NAME_SPACE}.${env.DOMAIN_NAME}:11800 + - name: SW_GRPC_LOG_SERVER_HOST + value: ${env.NAME_SPACE}-skywalk-skywalking-oap.${env.NAME_SPACE}.${env.DOMAIN_NAME} + - name: SW_GRPC_LOG_SERVER_PORT + value: '11800' + - name: JAVA_OPTS + value: '-server -javaagent:/opt/agent/skywalking-agent.jar -XX:+UseContainerSupport -XX:InitialRAMPercentage=85.0 -XX:MaxRAMPercentage=85.0' + resources: + limits: + cpu: '2' + memory: 4Gi + requests: + cpu: '50m' + memory: 512Mi + livenessProbe: + tcpSocket: + port: 9000 + initialDelaySeconds: 60 + timeoutSeconds: 1 + periodSeconds: 20 + successThreshold: 1 + failureThreshold: 3 + readinessProbe: + tcpSocket: + port: 9000 + initialDelaySeconds: 60 + timeoutSeconds: 1 + periodSeconds: 20 + successThreshold: 1 + failureThreshold: 3 + imagePullPolicy: Always + imagePullSecrets: + - name: ruoyi-harbor-secret diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..edc0bd65 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +# 基础镜像 +FROM openjdk:8-jre +# author +MAINTAINER ruoyi + +# 挂载目录 +VOLUME /home/ruoyi +# 创建目录 +RUN mkdir -p /home/ruoyi +# 指定路径 +WORKDIR /home/ruoyi + +# 复制jar文件到路径 +COPY ${JAR_FILE} /home/ruoyi/app.jar + +# 启动文件服务 +ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /home/ruoyi/app.jar diff --git a/pom.xml b/pom.xml index 822fe8d2..7a17a6a2 100644 --- a/pom.xml +++ b/pom.xml @@ -40,6 +40,8 @@ 4.1.2 3.2.2 2.13.2 + repository + true @@ -272,6 +274,22 @@ + + + + com.spotify + 1.4.13 + dockerfile-maven-plugin + + true + ${docker.build.skip} + 5000 + 5000 + false + + + + diff --git a/ruoyi-auth/pom.xml b/ruoyi-auth/pom.xml index d46e4b4c..b4614c58 100644 --- a/ruoyi-auth/pom.xml +++ b/ruoyi-auth/pom.xml @@ -13,6 +13,10 @@ ruoyi-auth认证授权中心 + + + false + @@ -57,6 +61,32 @@ ${project.artifactId} + + org.apache.maven.plugins + maven-resources-plugin + + + copy-docker-resources + generate-resources + + copy-resources + + + target + + + ../ + + Dockerfile + Deployment.yml + + true + + + + + + org.springframework.boot spring-boot-maven-plugin @@ -68,6 +98,19 @@ + + com.spotify + dockerfile-maven-plugin + + ${project.basedir}/target/Dockerfile + ${project.version} + ${docker.repository}/${project.artifactId} + ${project.basedir}/target + + ${project.build.finalName}.jar + + + diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml index 2aaa5dea..a6788bc0 100644 --- a/ruoyi-gateway/pom.xml +++ b/ruoyi-gateway/pom.xml @@ -14,6 +14,10 @@ ruoyi-gateway网关模块 + + false + + @@ -93,6 +97,32 @@ ${project.artifactId} + + org.apache.maven.plugins + maven-resources-plugin + + + copy-docker-resources + generate-resources + + copy-resources + + + target + + + ../ + + Dockerfile + Deployment.yml + + true + + + + + + org.springframework.boot spring-boot-maven-plugin @@ -104,6 +134,19 @@ + + com.spotify + dockerfile-maven-plugin + + ${project.basedir}/target/Dockerfile + ${project.version} + ${docker.repository}/${project.artifactId} + ${project.basedir}/target + + ${project.build.finalName}.jar + + + diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml index 84442430..536cfea1 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -22,4 +22,6 @@ ruoyi-modules业务模块 + + diff --git a/ruoyi-modules/ruoyi-file/pom.xml b/ruoyi-modules/ruoyi-file/pom.xml index 2f1abe3a..277ab8dc 100644 --- a/ruoyi-modules/ruoyi-file/pom.xml +++ b/ruoyi-modules/ruoyi-file/pom.xml @@ -15,6 +15,10 @@ ruoyi-modules-file文件服务 + + false + + @@ -71,6 +75,32 @@ ${project.artifactId} + + org.apache.maven.plugins + maven-resources-plugin + + + copy-docker-resources + generate-resources + + copy-resources + + + target + + + ../../ + + Dockerfile + Deployment.yml + + true + + + + + + org.springframework.boot spring-boot-maven-plugin @@ -82,6 +112,19 @@ + + com.spotify + dockerfile-maven-plugin + + ${project.basedir}/target/Dockerfile + ${project.version} + ${docker.repository}/${project.artifactId} + ${project.basedir}/target + + ${project.build.finalName}.jar + + + diff --git a/ruoyi-modules/ruoyi-gen/pom.xml b/ruoyi-modules/ruoyi-gen/pom.xml index a51984ba..6038428b 100644 --- a/ruoyi-modules/ruoyi-gen/pom.xml +++ b/ruoyi-modules/ruoyi-gen/pom.xml @@ -15,6 +15,10 @@ ruoyi-modules-gen代码生成 + + false + + @@ -83,6 +87,32 @@ ${project.artifactId} + + org.apache.maven.plugins + maven-resources-plugin + + + copy-docker-resources + generate-resources + + copy-resources + + + target + + + ../../ + + Dockerfile + Deployment.yml + + true + + + + + + org.springframework.boot spring-boot-maven-plugin @@ -94,6 +124,19 @@ + + com.spotify + dockerfile-maven-plugin + + ${project.basedir}/target/Dockerfile + ${project.version} + ${docker.repository}/${project.artifactId} + ${project.basedir}/target + + ${project.build.finalName}.jar + + + diff --git a/ruoyi-modules/ruoyi-job/pom.xml b/ruoyi-modules/ruoyi-job/pom.xml index 97c47c63..317a3cfc 100644 --- a/ruoyi-modules/ruoyi-job/pom.xml +++ b/ruoyi-modules/ruoyi-job/pom.xml @@ -15,6 +15,10 @@ ruoyi-modules-job定时任务 + + false + + @@ -83,6 +87,32 @@ ${project.artifactId} + + org.apache.maven.plugins + maven-resources-plugin + + + copy-docker-resources + generate-resources + + copy-resources + + + target + + + ../../ + + Dockerfile + Deployment.yml + + true + + + + + + org.springframework.boot spring-boot-maven-plugin @@ -94,6 +124,19 @@ + + com.spotify + dockerfile-maven-plugin + + ${project.basedir}/target/Dockerfile + ${project.version} + ${docker.repository}/${project.artifactId} + ${project.basedir}/target + + ${project.build.finalName}.jar + + + diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index 545e833b..b4d9d9e0 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -14,7 +14,11 @@ ruoyi-modules-system系统模块 - + + + false + + @@ -83,6 +87,32 @@ ${project.artifactId} + + org.apache.maven.plugins + maven-resources-plugin + + + copy-docker-resources + generate-resources + + copy-resources + + + target + + + ../../ + + Dockerfile + Deployment.yml + + true + + + + + + org.springframework.boot spring-boot-maven-plugin @@ -94,6 +124,19 @@ + + com.spotify + dockerfile-maven-plugin + + ${project.basedir}/target/Dockerfile + ${project.version} + ${docker.repository}/${project.artifactId} + ${project.basedir}/target + + ${project.build.finalName}.jar + + +