xiehuanqun 1 hónapja
szülő
commit
667b54693c
1 módosított fájl, 59 hozzáadás és 16 törlés
  1. 59 16
      .drone.yml

+ 59 - 16
.drone.yml

@@ -5,51 +5,94 @@ name: default
 trigger:
   branch:
     - master
+    - develop
 
 steps:
-  # 1. 构建 jar
-  - name: build
-    image: maven:3.8.4
+
+  # Maven 构建(Master)
+  - name: build-master
+    image: maven:3.8-openjdk-17
     volumes:
       - name: maven-cache
         path: /root/.m2
+      - name: build-output
+        path: /app/build
     commands:
       - mvn clean package -P prod
-      # 生成的包默认在 target/test.jar
+      - mkdir -p /app/build/target
+      - cp target/test.jar /app/build/target/test.jar
+      - cp Dockerfile docker-compose.yml /app/build/
+    when:
+      branch:
+        - master
+
+  # Maven 构建(Develop)
+  - name: build-develop
+    image: maven:3.8-openjdk-17
+    volumes:
+      - name: maven-cache
+        path: /root/.m2
+      - name: build-output
+        path: /app/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 docker-compose.yml /app/build/
+    when:
+      branch:
+        - develop
 
-  # 2. 传输 jar 到服务器
-  - name: scp
-    image: appleboy/drone-scp:1.8.0
+  # 部署(Master)
+  - name: deploy-master
+    image: appleboy/drone-ssh:1.8.0
     settings:
-      port: 22
       host:
         from_secret: ssh_host
       username:
         from_secret: ssh_user
       password:
         from_secret: ssh_pwd
-      source:
-        - target/test.jar   # ✅ 注意是相对路径
-      target: /home/app/    # 服务器上的目录(要先 mkdir -p /home/app)
+      port: 22
+      command_timeout: 10m
+      script:
+        - cd /home/app
+        - docker-compose down
+        - docker-compose build
+        - docker-compose up -d
+        - docker image prune -f
+        - echo "Master deployment finished"
+    when:
+      branch:
+        - master
 
-  # 3. 部署启动
-  - name: deploy
+  # 部署(Develop)
+  - name: deploy-develop
     image: appleboy/drone-ssh:1.8.0
     settings:
-      port: 22
       host:
         from_secret: ssh_host
       username:
         from_secret: ssh_user
       password:
         from_secret: ssh_pwd
+      port: 22
       command_timeout: 10m
       script:
         - cd /home/app
-        - pkill -f "test.jar" || true   # 停掉旧进程
-        - nohup java -jar test.jar > app.log 2>&1 &
+        - docker-compose down
+        - docker-compose build
+        - docker-compose up -d
+        - docker image prune -f
+        - echo "Develop deployment finished"
+    when:
+      branch:
+        - develop
 
 volumes:
   - name: maven-cache
     host:
       path: /root/docker/maven/cache
+  - name: build-output
+    host:
+      path: /home/app