xiehuanqun преди 1 месец
родител
ревизия
48d7c07c91
променени са 3 файла, в които са добавени 31 реда и са изтрити 45 реда
  1. 25 30
      .drone.yml
  2. 4 7
      Dockerfile
  3. 2 8
      docker-compose.yml

+ 25 - 30
.drone.yml

@@ -17,7 +17,7 @@ steps:
       mount:
         - /root/.m2/repository
     volumes:
-      - name: repository
+      - name: maven-cache
         path: /cache
 
   # 打包 prod
@@ -27,13 +27,13 @@ steps:
       - name: maven-cache
         path: /root/.m2
       - name: maven-build
-        path: /app/build
+        path: /home/TestApp/build
     commands:
       - mvn clean package -P prod
-      - mkdir -p /app/build/target
-      - cp target/test.jar /app/build/target/test.jar
-      - cp Dockerfile /app/build/Dockerfile
-      - cp docker-compose.yml /app/build/docker-compose.yml
+      - mkdir -p /home/TestApp/build
+      - cp target/test.jar /home/TestApp/build/test.jar
+      - cp Dockerfile /home/TestApp/build/Dockerfile
+      - cp docker-compose.yml /home/TestApp/build/docker-compose.yml
     when:
       branch:
         master
@@ -45,13 +45,13 @@ steps:
       - name: maven-cache
         path: /root/.m2
       - name: maven-build-dev
-        path: /app/build
+        path: /home/TestAppDev/build
     commands:
       - mvn clean package -P dev
-      - mkdir -p /app/build/target
-      - cp target/test-dev.jar /app/build/target/test-dev.jar
-      - cp Dockerfile /app/build/Dockerfile
-      - cp docker-compose.yml /app/build/docker-compose.yml
+      - mkdir -p /home/TestAppDev/build
+      - cp target/test-dev.jar /home/TestAppDev/build/test.jar
+      - cp Dockerfile /home/TestAppDev/build/Dockerfile
+      - cp docker-compose.yml /home/TestAppDev/build/docker-compose.yml
     when:
       branch:
         develop
@@ -69,15 +69,12 @@ steps:
         from_secret: ssh_pwd
       command_timeout: 5m
       source:
-        - target/test.jar
-        - Dockerfile
-        - docker-compose.yml
+        - build/test.jar
+        - build/Dockerfile
+        - build/docker-compose.yml
       target: /home/TestApp/
     when:
       branch: master
-      path:
-        - "!db/**"
-        - "!README.md"
 
   # 部署 prod
   - name: deploy-ssh-prod
@@ -90,13 +87,12 @@ steps:
         from_secret: ssh_user
       password:
         from_secret: ssh_pwd
-      command_timeout: 1m
+      command_timeout: 2m
       script:
         - cd /home/TestApp
-        - sudo docker build -t test .
         - sudo docker-compose down
-        - sudo docker-compose up -d
-        - sudo echo "Docker App started."
+        - sudo docker-compose up -d --build
+        - echo "Docker App started."
     when:
       branch: master
 
@@ -113,9 +109,9 @@ steps:
         from_secret: ssh_pwd
       command_timeout: 5m
       source:
-        - target/test-dev.jar
-        - Dockerfile
-        - docker-compose.yml
+        - build/test.jar
+        - build/Dockerfile
+        - build/docker-compose.yml
       target: /home/TestAppDev/
     when:
       branch: develop
@@ -131,13 +127,12 @@ steps:
         from_secret: ssh_user
       password:
         from_secret: ssh_pwd
-      command_timeout: 1m
+      command_timeout: 2m
       script:
         - cd /home/TestAppDev
-        - sudo docker build -t test-dev .
         - sudo docker-compose down
-        - sudo docker-compose up -d
-        - sudo echo "Docker App started."
+        - sudo docker-compose up -d --build
+        - echo "Docker App started."
     when:
       branch: develop
 
@@ -155,10 +150,10 @@ steps:
 volumes:
   - name: maven-build
     host:
-      path: /home/TestApp
+      path: /home/TestApp/build
   - name: maven-build-dev
     host:
-      path: /home/TestAppDev
+      path: /home/TestAppDev/build
   - name: maven-cache
     host:
       path: /root/docker/maven/cache

+ 4 - 7
Dockerfile

@@ -1,14 +1,11 @@
-# 使用官方 OpenJDK 17 镜像
 FROM openjdk:17-jdk-slim
 
-# 设置工作目录
 WORKDIR /app
 
-# 复制 fat-jar 到容器
-COPY target/test.jar /app/test.jar
+# 复制 jar 到 build 目录
+COPY target/*.jar /app/build/
 
-# 创建挂载目录(如果没有挂载,容器内也会创建)
+# 创建挂载目录
 RUN mkdir -p /logs /uploads
 
-# 容器启动命令
-ENTRYPOINT ["java","-jar","/app/test.jar"]
+ENTRYPOINT ["java", "-Dloader.path=/app/build", "-jar", "/app/build/test.jar"]

+ 2 - 8
docker-compose.yml

@@ -8,17 +8,11 @@ services:
     restart: always
     image: test:latest
     volumes:
-      - /home/TestApp/libs/:/app/build/libs/
-      - /home/TestApp/uploads/:/home/TestApp/uploads/
+      - /home/TestApp/build/:/app/build/
+      - /home/TestApp/uploads/:/uploads/
       - /home/TestApp/logs/:/logs/
       - /etc/localtime:/etc/localtime
-
     ports:
       - "8080:8080"
-    # 如果想用宿主机网络,去掉 ports,改成:
-    # network_mode: "host"
-
     environment:
       TZ: 'Asia/Shanghai'
-
-    entrypoint: ["java", "-Dloader.path=/app/build/libs", "-jar", "/app/build/test.jar"]