Эх сурвалжийг харах

soc-modules-deploy模块后台代码迁移-增加下载白令海包接口

humingshi-7@163.com 1 жил өмнө
parent
commit
5517817cf5

+ 28 - 1
project_data/sql/0.1.1/升级文档.txt

@@ -8,4 +8,31 @@ mediator的路由配置uri修改为lb:ws://soc-mediator
           predicates:
             - Path=/mediator/**
           filters:
-            - StripPrefix=1
+            - StripPrefix=1
+
+2、nacos gateway配置文件增加-部署中心路由节点:
+spring:
+  cloud:
+    gateway:
+        routes:
+          # 部署中心服务
+          - id: soc-deploy
+            uri: lb://soc-deploy
+            predicates:
+              - Path=/api/delpoy/**
+            filters:
+              - StripPrefix=2
+3、nacos gateway配置文件增加-部署中心不校验白名单:
+security:
+  ignore:
+     whites:
+        - /api/deploy/register
+        - /api/deploy/accesstoken
+        - /api/deploy/package/download/**
+        - /api/deploy/agent/download/**
+        - /api/deploy/frontend/synchronDate
+        - /api/deploy/heartbeat
+        - /api/deploy/list
+        - /api/deploy/report
+        - /api/deploy/task
+        - /api/deploy/taskReport

+ 30 - 5
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/controller/BeringController.java

@@ -3,11 +3,10 @@ package com.xunmei.deploy.controller;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.xunmei.common.core.utils.StringUtils;
-import com.xunmei.deploy.domain.AppInfoExtend;
-import com.xunmei.deploy.domain.HostInfo;
-import com.xunmei.deploy.domain.UpgradeTask;
-import com.xunmei.deploy.domain.UploadAppInfo;
+import com.xunmei.deploy.domain.*;
+import com.xunmei.deploy.enums.ServerNameEnum;
 import com.xunmei.deploy.service.*;
 import com.xunmei.deploy.util.*;
 import com.xunmei.deploy.vo.RegisterVo;
@@ -53,6 +52,8 @@ public class BeringController {
     @Autowired
     private UploadAppInfoService uploadAppInfoService;
     @Autowired
+    private PackageInfoService packageInfoService;
+    @Autowired
     private FrontTaskService frontTaskService;
 
     @Resource
@@ -284,7 +285,7 @@ public class BeringController {
      * 白令海Rest接口-下载服务升级包
      */
     @GetMapping("/package/download/{id}")
-    public void getAgentPackage(HttpServletResponse response, HttpServletRequest request, @PathVariable @Value("id") String id){
+    public void getAppPackage(HttpServletResponse response, HttpServletRequest request, @PathVariable @Value("id") String id){
         UploadAppInfo uploadAppInfo = uploadAppInfoService.getById(id);
         if (null == uploadAppInfo){
             logger.error("白令海Rest接口-下载服务升级包:id={}未找到对应升级文件",id);
@@ -296,6 +297,30 @@ public class BeringController {
         AgentFileUtil.downloadFile(downPath,uploadAppInfo.getAppName()+"_"+uploadAppInfo.getVersion(),request,response);
     }
 
+    @GetMapping("/agent/download/{version}")
+    public void getAgentPackage(HttpServletResponse response, HttpServletRequest request, @PathVariable@Value("version") String version){
+        try {
+            QueryWrapper<PackageInfo> wrapper = new QueryWrapper<>();
+            wrapper.eq("package_version",version);
+            wrapper.eq("server_code", ServerNameEnum.NET_WORK_AGENT.getCode());
+            PackageInfo packageInfo = packageInfoService.getOne(wrapper);
+            if(null !=packageInfo){
+                if (OsInfoUtil.isLinux()){
+                    AgentFileUtil.downloadFile(packageInfo.getPackagePath()+"/"+packageInfo.getPackageName(),
+                            packageInfo.getPackageName(),request,response);
+                }
+                if (OsInfoUtil.isWindows()){
+                    AgentFileUtil.downloadFile(packageInfo.getPackagePath()+"\\"+packageInfo.getPackageName(),
+                            packageInfo.getPackageName(),request,response);
+                }
+            }else {
+                logger.error("白令海Rest接口-下载白令海升级包:未找到对应版本安装包{}",version);
+            }
+        }catch (Exception e){
+            logger.error("白令海Rest接口-下载白令海升级包:出现异常{}",e);
+        }
+    }
+
     /**
      * 白令海Rest接口-获取任务
      */

+ 2 - 1
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/service/impl/UpgradeBatchInfoServiceImpl.java

@@ -99,6 +99,7 @@ public class UpgradeBatchInfoServiceImpl extends ServiceImpl<UpgradeBatchInfoDao
         String lockKey = RedisPrefix.UPGRADE_TASK_LOCK_PREFIX;
         boolean isLock = !redisTemplateUtil.hasKey(lockKey) && redisTemplateUtil.set(lockKey, lockKey, 10);
         if(!isLock) {
+            logger.info("每分钟定时任务scheduleUpgradeTask:缓存状态锁定中(10分钟内锁定不执行),跳过本次执行");
             return;
         }
 
@@ -276,7 +277,7 @@ public class UpgradeBatchInfoServiceImpl extends ServiceImpl<UpgradeBatchInfoDao
                         hostZipInfoDao.updateById(hostZipInfo);
                     }
                 }catch (Exception e){
-                    logger.error("定时处理升级任务状态出错:{}",e);
+                    logger.error("每分钟定时任务scheduleUpgradeTask:处理升级任务状态出现异常{}",e);
                 }
             }
             batchInfo.setStatus(batchStatus);