xiehuanqun 1 mesiac pred
rodič
commit
cf88c975d4
1 zmenil súbory, kde vykonal 22 pridanie a 10 odobranie
  1. 22 10
      .drone.yml

+ 22 - 10
.drone.yml

@@ -2,6 +2,7 @@ kind: pipeline
 type: docker
 name: default
 
+# 触发分支
 trigger:
   branch:
     - master
@@ -23,16 +24,19 @@ steps:
   # 打包 prod
   - name: build-prod
     image: matderosa/maven-3.8-openjdk-17-gcc8.5
-    volumes:
+    volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
       - name: maven-cache
-        path: /root/.m2
+        path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
       - name: maven-build
-        path: /app/build
+        path: /app/build # 将应用打包好的Jar和执行脚本挂载出来
     commands:
-      - mvn clean package -P prod -DskipTests
+      - mvn clean package -P prod -DskipTests #(-DskipTests 跳过测试)
+      # (此时拷贝的内容是仓库分支拉下来的代码)
       - mkdir -p /app/build/target
-#      - cp -r target/libs /app/build/libs
+#      - cp -r target/libs /app/build/libs (有新依赖需要打开)
+      # 将打包好的 Jar包 拷贝到指定目录
       - cp target/test.jar /app/build/target/test.jar
+      # 将配置文件从最新的分支 拷贝到目标目录
       - cp Dockerfile /app/build/Dockerfile
       - cp docker-compose.yml /app/build/docker-compose.yml
     when:
@@ -40,6 +44,7 @@ steps:
         master
 
   # 打包 dev
+  # - 在同个服务器时,docker-compose.yml 需要修改服务名
   - name: build-dev
     image: matderosa/maven-3.8-openjdk-17-gcc8.5
     volumes:
@@ -50,6 +55,7 @@ steps:
     commands:
       - mvn clean package -P dev -DskipTests
       - mkdir -p /app/build/target
+ #      - cp -r target/libs /app/build/libs 有新依赖需要打开
       - 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
@@ -91,9 +97,14 @@ steps:
         from_secret: ssh_pwd
       command_timeout: 1m
       script:
+        # (此时是在 SSH登录服务器 的作用域)
+        # Docker 启动
         - cd /home/TestApp
+        # 根据 Dockerfile 配置创建镜像 (名称需要小写)
         - sudo docker build -t test .
+        # 停止容器
         - sudo docker-compose down
+        # 启动容器 (根据 docker-compose.yml 配置)
         - sudo docker-compose up -d
         - sudo echo "Docker App started."
     when:
@@ -138,7 +149,7 @@ steps:
     when:
       branch: develop
 
-  # 清镜像
+  # 清除冗余镜像
   - name: cleanup
     image: docker:dind
     volumes:
@@ -147,15 +158,16 @@ steps:
     when:
       status: [ success ]
     commands:
-      - docker image prune -f --filter "dangling=true" --filter "until=1h"
+      # 删除1小时前创建的未使用镜像
+      - docker image prune -f --filter "until=1h"
 
-volumes:
+volumes: # 定义流水线挂载目录,用于共享数据
   - name: maven-build
     host:
-      path: /home/TestApp
+      path: /home/TestApp # 从宿主机中挂载的目录
   - name: maven-build-dev
     host:
-      path: /home/TestAppDev
+      path: /home/TestAppDev # 从宿主机中挂载的目录
   - name: maven-cache
     host:
       path: /root/docker/maven/cache