mac пре 2 година
родитељ
комит
bdc129c7af
1 измењених фајлова са 256 додато и 0 уклоњено
  1. 256 0
      .drone.yml

+ 256 - 0
.drone.yml

@@ -964,6 +964,164 @@ trigger:
   exclude:
     - ref: refs/pull/*
 
+---
+kind: pipeline
+type: docker
+name: kxs-stat-prod
+
+volumes: # 声明数据卷
+  - name: mvn_repo # 数据卷名称
+    # Host Volume, 挂载到宿主机上的卷轴
+    host:
+      # 宿主机的绝对路径
+      path: /home/ABServer/cache/mvn_repo
+  - name: mvn_config
+    host:
+      path: /home/ABServer/config/mvn/
+  - name: targetDir
+    host:
+      path: /kxs-stat
+
+clone:
+  disable: false # 启用代码拉取
+
+steps:
+  - name: build-project
+    image: maven:3.9.4-amazoncorretto-17
+    pull: if-not-exists
+    depends_on: [clone] # 依赖的步骤
+    volumes: # 挂载数据卷
+      - name: mvn_repo # 数据卷名称
+        path: /usr/share/maven/repo # 容器内目录 绝对路径
+      - name: targetDir
+        path: /drone/src/dist/
+      - name: mvn_config
+        path: /usr/share/maven/conf/
+    commands: # 执行命令
+      - rm -rf /drone/src/dist/*
+      - mvn clean package -Dmaven.test.skip=true -P prod
+      - cp /drone/src/kxs-stat/kxs-stat-biz/target/*.jar /drone/src/dist/ && cp -r /drone/src/kxs-stat/kxs-stat-biz/target/lib /drone/src/dist/ && cp -r /drone/src/kxs-stat/kxs-stat-biz/target/config /drone/src/dist/ # 复制文件
+    when:
+      status:
+        - success # 当前步骤成功时执行
+  - name: scp-project
+    image: appleboy/drone-scp
+    pull: if-not-exists
+    depends_on: [build-project] # 依赖的步骤
+    volumes: # 挂载数据卷
+      - name: targetDir # 数据卷名称
+        path: /kxs-stat # 容器内目录 绝对路径
+    settings:
+      host:
+        from_secret: kxs-user-system-a-host
+      username:
+        from_secret: username
+      password:
+        from_secret: kxs-user-system-pwd
+      port: 22
+      command_timeout: 5m
+      target: /home/ABServer/deploy-ready/
+      source:
+        - echo ====开始拷贝=======
+        - /kxs-stat/*.jar
+        - /kxs-stat/lib
+        - /kxs-stat/config
+        - echo ====结束拷贝=======
+      when:
+        status:
+          - success # 当前步骤成功时执行
+
+  - name: deploy-project
+    image: appleboy/drone-ssh
+    pull: if-not-exists
+    depends_on: [scp-project] # 依赖的步骤
+    settings:
+      host:
+        from_secret: kxs-user-system-a-host
+      username:
+        from_secret: username
+      password:
+        from_secret: kxs-user-system-pwd
+      port: 22
+      command_timeout: 5m
+      script:
+        - echo ====开始部署=======
+        - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-stat-biz&ip=172.27.251.56&port=8070&weight=0'
+        - sleep 25s
+        - cd /home/ABServer/
+        - rm -rf /home/ABServer/webroot/kxs-stat/*
+        - cp -r /home/ABServer/deploy-ready/kxs-stat /home/ABServer/webroot/
+        - docker restart kxs-stat
+        - rm -rf /home/ABServer/deploy-ready/kxs-stat/*
+        # - docker restart nodeServer1
+        - echo ====部署成功=======
+  - name: scp-project-b
+    image: appleboy/drone-scp
+    pull: if-not-exists
+    depends_on: [build-project] # 依赖的步骤
+    volumes: # 挂载数据卷
+      - name: targetDir # 数据卷名称
+        path: /kxs-stat # 容器内目录 绝对路径
+    settings:
+      host:
+        from_secret: kxs-user-system-b-host
+      username:
+        from_secret: username
+      password:
+        from_secret: kxs-user-system-pwd
+      port: 22
+      command_timeout: 5m
+      target: /home/ABServer/deploy-ready/
+      source:
+        - echo ====开始拷贝=======
+        - /kxs-stat/*.jar
+        - /kxs-stat/lib
+        - /kxs-stat/config
+        - echo ====结束拷贝=======
+      when:
+        status:
+          - success # 当前步骤成功时执行
+
+  - name: deploy-project-b
+    image: appleboy/drone-ssh
+    pull: if-not-exists
+    depends_on: [scp-project] # 依赖的步骤
+    settings:
+      host:
+        from_secret: kxs-user-system-b-host
+      username:
+        from_secret: username
+      password:
+        from_secret: kxs-user-system-pwd
+      port: 22
+      command_timeout: 5m
+      script:
+        - echo ====开始部署=======
+        - sleep 60s
+        - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-stat-biz&ip=172.27.251.56&port=8070&weight=1'
+        - sleep 1s
+        - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-stat-biz&ip=172.26.230.195&port=8070&weight=0'
+        - sleep 25s
+        - cd /home/ABServer/
+        - rm -rf /home/ABServer/webroot/kxs-stat/*
+        - cp -r /home/ABServer/deploy-ready/kxs-stat /home/ABServer/webroot/
+        - docker restart kxs-stat
+        - rm -rf /home/ABServer/deploy-ready/kxs-stat/*
+        - sleep 60s
+        - curl -X PUT 'http://mse-78d0edb13-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance?serviceName=kxs-stat-biz&ip=172.26.230.195&port=8070&weight=1'
+
+        # - docker restart nodeServer1
+        - echo ====部署成功======
+
+trigger:
+  branch:
+    - release-stat
+  event:
+    - push
+  #排除合并请求
+  exclude:
+    - ref: refs/pull/*
+
 
 
 
@@ -1658,6 +1816,104 @@ trigger:
       - pull_request
       - push
 
+---
+kind: pipeline
+type: docker
+name: kxs-stat-test
+
+volumes: # 声明数据卷
+  - name: mvn_repo # 数据卷名称
+    # Host Volume, 挂载到宿主机上的卷轴
+    host:
+      # 宿主机的绝对路径
+      path: /home/ABServer/cache/mvn_repo
+  - name: mvn_config
+    host:
+      path: /home/ABServer/config/mvn/
+  - name: targetDir
+    host:
+      path: /kxs-stat
+
+clone:
+  disable: false # 启用代码拉取
+
+steps:
+  - name: build-project
+    image: maven:3.9.4-amazoncorretto-17
+    pull: if-not-exists
+    depends_on: [clone] # 依赖的步骤
+    volumes: # 挂载数据卷
+      - name: mvn_repo # 数据卷名称
+        path: /usr/share/maven/repo # 容器内目录 绝对路径
+      - name: targetDir
+        path: /drone/src/dist/
+      - name: mvn_config
+        path: /usr/share/maven/conf/
+    commands: # 执行命令
+      - rm -rf /drone/src/dist/*
+      - mvn clean package -Dmaven.test.skip=true -P test
+      - cp /drone/src/kxs-stat/kxs-stat-biz/target/*.jar /drone/src/dist/ && cp -r /drone/src/kxs-stat/kxs-stat-biz/target/lib /drone/src/dist/ && cp -r /drone/src/kxs-stat/kxs-stat-biz/target/config /drone/src/dist/ # 复制文件
+    when:
+      status:
+        - success # 当前步骤成功时执行
+  - name: scp-project
+    image: appleboy/drone-scp
+    pull: if-not-exists
+    depends_on: [build-project] # 依赖的步骤
+    volumes: # 挂载数据卷
+      - name: targetDir # 数据卷名称
+        path: /kxs-stat # 容器内目录 绝对路径
+    settings:
+      host:
+        from_secret: host
+      username:
+        from_secret: username
+      password:
+        from_secret: userpwd
+      port: 22
+      command_timeout: 2m
+      target: /home/ABServer/deploy-ready/
+      source:
+        - echo ====开始拷贝=======
+        - /kxs-stat/*.jar
+        - /kxs-stat/lib
+        - /kxs-stat/config
+        - echo ====结束拷贝=======
+      when:
+        status:
+          - success # 当前步骤成功时执行
+
+  - name: deploy-project
+    image: appleboy/drone-ssh
+    pull: if-not-exists
+    depends_on: [scp-project] # 依赖的步骤
+    settings:
+      host:
+        from_secret: host
+      username:
+        from_secret: username
+      password:
+        from_secret: userpwd
+      port: 22
+      command_timeout: 2m
+      script:
+        - echo ====开始部署=======
+        - cd /home/ABServer/
+        - rm -rf /home/ABServer/webroot/kxs-stat/*
+        - cp -r /home/ABServer/deploy-ready/kxs-stat /home/ABServer/webroot/
+        - docker stop kxs-stat && docker rm kxs-stat && docker-compose up -d kxs-stat
+        - rm -rf /home/ABServer/deploy-ready/kxs-stat/*
+        # - docker restart nodeServer1
+        - echo ====部署成功=======
+
+trigger:
+  branch:
+    include:
+      - test-stat
+  event:
+    include:
+      - pull_request
+      - push