Bladeren bron

修改 AppDeploying 和 AppRunning 数据模型和数据操作接口

reghao 4 jaren geleden
bovenliggende
commit
b98d9accc0

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/query/AppDeployingQueryImpl.java

@@ -32,7 +32,7 @@ public class AppDeployingQueryImpl implements AppDeployingQuery {
 
     @Override
     public AppDeploying findByAppIdAndMachineId(String appId, String machineId) {
-        return deployingRepository.findByAppIdAndMachineId(appId, machineId);
+        return null;
     }
 
     @Override

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/query/AppRunningQueryImpl.java

@@ -26,7 +26,7 @@ public class AppRunningQueryImpl implements AppRunningQuery {
 
     @Override
     public AppRunning findByAppIdAndMachineId(String appId, String machineId) {
-        return runningRepository.findByAppIdAndMachineId(appId, machineId);
+        return null;
     }
 
     @Override

+ 0 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/repository/AppDeployingRepository.java

@@ -12,6 +12,4 @@ import java.util.List;
  */
 public interface AppDeployingRepository
         extends JpaRepository<AppDeploying, Integer>, JpaSpecificationExecutor<AppDeploying> {
-    List<AppDeploying> findByAppId(String appId);
-    AppDeploying findByAppIdAndMachineId(String appId, String machineId);
 }

+ 0 - 3
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/repository/AppRunningRepository.java

@@ -13,7 +13,4 @@ import java.util.List;
  * @date 2021-05-24 15:20:24
  */
 public interface AppRunningRepository extends JpaRepository<AppRunning, Integer>, JpaSpecificationExecutor<AppRunning> {
-    List<AppRunning> findByAppId(String appId);
-    AppRunning findByAppIdAndMachineId(String appId, String machineId);
-    Page<AppRunning> findAllByEnv(String env, Pageable pageable);
 }

+ 7 - 9
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/po/AppDeploying.java

@@ -1,12 +1,13 @@
 package cn.reghao.autodop.dmaster.app.model.po;
 
 import cn.reghao.autodop.common.msg.rpc.dto.app.DeployResult;
-import cn.reghao.autodop.dmaster.app.model.po.config.AppConfig;
 import cn.reghao.autodop.dmaster.app.model.po.config.AppDeployConfig;
 import cn.reghao.autodop.dmaster.app.model.po.log.BuildLog;
+import cn.reghao.autodop.dmaster.util.db.BaseEntity;
 import lombok.*;
 
 import javax.persistence.Entity;
+import javax.persistence.OneToOne;
 import java.time.LocalDateTime;
 
 /**
@@ -19,7 +20,9 @@ import java.time.LocalDateTime;
 @Getter
 @Setter
 @Entity
-public class AppDeploying extends AppProperty {
+public class AppDeploying extends BaseEntity<Integer> {
+    @OneToOne
+    private AppDeployConfig appDeployConfig;
     private String buildLogId;
     private String commitId;
     private String packagePath;
@@ -27,13 +30,8 @@ public class AppDeploying extends AppProperty {
     private String deployResult;
     private String deployBy;
 
-    public AppDeploying(AppConfig app, AppDeployConfig deployConfig) {
-        super(app, deployConfig);
-    }
-
-    public AppDeploying refresh(String appName, String machineIpv4) {
-        this.update0(appName, machineIpv4);
-        return this;
+    public AppDeploying(AppDeployConfig appDeployConfig) {
+        this.appDeployConfig = appDeployConfig;
     }
 
     public AppDeploying update(BuildLog buildLog, DeployResult deployResult) {

+ 0 - 41
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/po/AppProperty.java

@@ -1,41 +0,0 @@
-package cn.reghao.autodop.dmaster.app.model.po;
-
-import cn.reghao.autodop.dmaster.app.model.po.config.AppConfig;
-import cn.reghao.autodop.dmaster.app.model.po.config.AppDeployConfig;
-import cn.reghao.autodop.dmaster.util.db.BaseEntity;
-import lombok.*;
-
-import javax.persistence.MappedSuperclass;
-
-/**
- * 应用基本属性
- *
- * @author reghao
- * @date 2021-06-10 14:40:13
- */
-@MappedSuperclass
-@NoArgsConstructor
-@Setter
-@Getter
-public class AppProperty extends BaseEntity<Integer> {
-    private String appId;
-    private String appName;
-    private String appType;
-    private String env;
-    private String machineId;
-    private String machineIpv4;
-
-    public AppProperty(AppConfig app, AppDeployConfig deployConfig) {
-        this.appId = app.getAppId();
-        this.appName = app.getAppName();
-        this.appType = app.getAppType();
-        this.env = app.getEnv();
-        this.machineId = deployConfig.getMachineId();
-        this.machineIpv4 = deployConfig.getMachineIpv4();
-    }
-
-    protected void update0(String appName, String machineIpv4) {
-        this.setAppName(appName);
-        this.setMachineIpv4(machineIpv4);
-    }
-}

+ 7 - 33
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/po/AppRunning.java

@@ -1,12 +1,11 @@
 package cn.reghao.autodop.dmaster.app.model.po;
 
 import cn.reghao.autodop.common.msg.rpc.dto.app.StatusResult;
-import cn.reghao.autodop.dmaster.app.model.po.config.AppConfig;
-import cn.reghao.autodop.dmaster.app.model.po.config.AppDeployConfig;
-import cn.reghao.autodop.dmaster.app.model.po.log.BuildLog;
+import cn.reghao.autodop.dmaster.util.db.BaseEntity;
 import lombok.*;
 
 import javax.persistence.Entity;
+import javax.persistence.OneToOne;
 import java.time.LocalDateTime;
 
 /**
@@ -19,41 +18,16 @@ import java.time.LocalDateTime;
 @Getter
 @Setter
 @Entity
-public class AppRunning extends AppProperty {
-    private Integer httpPort;
-    private String healthCheck;
-    private String buildLogId;
-    private String packagePath;
+public class AppRunning extends BaseEntity<Integer> {
+    @OneToOne
+    private AppDeploying appDeploying;
     private Boolean isRunning;
     private LocalDateTime startTime;
     private Integer pid;
     private LocalDateTime lastCheck;
 
-    public AppRunning(AppConfig app, AppDeployConfig deployConfig) {
-        super(app, deployConfig);
-        this.httpPort = app.getHttpPort();
-        this.healthCheck = app.getHealthCheck();
-    }
-
-    public AppRunning update(AppConfig app, String machineIpv4) {
-        this.update0(app.getAppName(), machineIpv4);
-        this.httpPort = app.getHttpPort();
-        this.healthCheck = app.getHealthCheck();
-        return this;
-    }
-
-    public AppRunning update(BuildLog buildLog, StatusResult appStatus) {
-        this.setBuildLogId(buildLog.getId());
-        this.setPackagePath(buildLog.getPackagePath());
-        this.setIsRunning(appStatus.getIsRunning());
-        this.setStartTime(appStatus.getStartTime());
-        this.setPid(appStatus.getPid());
-        this.setLastCheck(LocalDateTime.now());
-        return this;
-    }
-
-    public AppRunning update(StatusResult appStatus) {
-        this.setPackagePath(appStatus.getPackagePath());
+    public AppRunning update(AppDeploying appDeploying, StatusResult appStatus) {
+        this.appDeploying = appDeploying;
         this.setIsRunning(appStatus.getIsRunning());
         this.setStartTime(appStatus.getStartTime());
         this.setPid(appStatus.getPid());

+ 6 - 6
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/po/config/AppDeployConfig.java

@@ -1,5 +1,6 @@
 package cn.reghao.autodop.dmaster.app.model.po.config;
 
+import cn.reghao.autodop.dmaster.machine.model.po.MachineHost;
 import cn.reghao.autodop.dmaster.util.db.BaseEntity;
 import lombok.Data;
 import lombok.Getter;
@@ -23,10 +24,9 @@ import javax.validation.constraints.NotNull;
 public class AppDeployConfig extends BaseEntity<Integer> {
     @OneToOne
     private AppConfig appConfig;
+    @OneToOne
+    private MachineHost machineHost;
     @NotBlank(message = "machineId 不能为空白字符串")
-    private String machineId;
-    @NotNull
-    private String machineIpv4;
     @NotNull
     private String packType;
     // packType 是 docker 时 startScript 的内容是 cn.reghao.autodop.common.dockerc.pojo.Config 序列化为 JSON 后的字符串
@@ -40,9 +40,9 @@ public class AppDeployConfig extends BaseEntity<Integer> {
     private String unpackScript;
     private String startHome;
 
-    public AppDeployConfig(String machineId, String machineIpv4, String packType, String startScript) {
-        this.machineId = machineId;
-        this.machineIpv4 = machineIpv4;
+    public AppDeployConfig(AppConfig appConfig, MachineHost machineHost, String packType, String startScript) {
+        this.appConfig = appConfig;
+        this.machineHost = machineHost;
         this.packType = packType;
         this.startScript = startScript;
     }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/vo/AppDeployingVO.java

@@ -17,7 +17,7 @@ public class AppDeployingVO {
     private String deployBy;
 
     public AppDeployingVO(AppDeploying appDeploying) {
-        this.machineIpv4 = appDeploying.getMachineIpv4();
+        this.machineIpv4 = appDeploying.getAppDeployConfig().getMachineHost().getMachineIpv4();
         this.commitId = appDeploying.getCommitId();
         this.deployTime = DateTimeConverter.format(appDeploying.getDeployTime());
         this.deployResult = appDeploying.getDeployResult();

+ 2 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/config/impl/AppConfigServiceImpl.java

@@ -153,7 +153,7 @@ public class AppConfigServiceImpl implements AppConfigService {
     @Override
     public Result delete(AppConfig app) {
         String appId = app.getAppId();
-        List<AppRunning> appRunnings = runningRepository.findByAppId(appId).stream()
+        /*List<AppRunning> appRunnings = runningRepository.findByAppId(appId).stream()
                 .filter(AppRunning::getIsRunning).collect(Collectors.toList());
         if (!appRunnings.isEmpty()) {
             return Result.result(ResultStatus.FAIL, appId + " 正在运行中");
@@ -161,7 +161,7 @@ public class AppConfigServiceImpl implements AppConfigService {
 
         // TODO 处理所有与 app 关联的数据
         appBuildService.delete(app.getAppId());
-        appConfigCrud.delete(app);
+        appConfigCrud.delete(app);*/
         return Result.result(ResultStatus.SUCCESS);
     }
 }

+ 0 - 12
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/impl/AppStatusServiceImpl.java

@@ -49,26 +49,14 @@ public class AppStatusServiceImpl implements AppStatusService {
 
     @Override
     public void refreshAppStatus() {
-        List<AppRunning> appRunnings = runningRepository.findAll();
-        appRunnings.forEach(appRunning -> {
-            String appId = appRunning.getAppId();
-            AppConfig app = appConfigQuery.findByAppId(appId);
-            String machineId = appRunning.getMachineId();
-            getStatus(app, machineId);
-        });
     }
 
     @Override
     public void refreshAppStatus(String appId) {
-        List<AppRunning> appRunnings = runningRepository.findByAppId(appId);
     }
 
     @Override
     public void refreshAppStatus(AppRunning appRunning) {
-        String appId = appRunning.getAppId();
-        AppConfig app = appConfigQuery.findByAppId(appId);
-        String machineId = appRunning.getMachineId();
-        getStatus(app, machineId);
     }
 
     @Override

+ 2 - 30
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/impl/BuildDeployConfigServiceImpl.java

@@ -68,20 +68,6 @@ public class BuildDeployConfigServiceImpl implements BuildDeployConfigService {
      */
     @Override
     public void refreshAppDeploying(AppConfig app) {
-        String appId = app.getAppId();
-        List<AppDeploying> list = deployConfigQuery.findByAppId(appId).stream()
-                .map(deployConfig -> {
-                    String machineId = deployConfig.getMachineId();
-                    AppDeploying appDeploying = deployingRepository.findByAppIdAndMachineId(appId, machineId);
-                    if (appDeploying == null) {
-                        appDeploying = new AppDeploying(app, deployConfig);
-                    } else {
-                        appDeploying.refresh(app.getAppName(), deployConfig.getMachineIpv4());
-                    }
-                    return appDeploying;
-                })
-                .collect(Collectors.toList());
-        deployingRepository.saveAll(list);
     }
 
     /**
@@ -93,20 +79,6 @@ public class BuildDeployConfigServiceImpl implements BuildDeployConfigService {
      */
     @Override
     public void refreshAppRunning(AppConfig app) {
-        String appId = app.getAppId();
-        List<AppRunning> list = deployConfigQuery.findByAppId(appId).stream()
-                .map(deployConfig -> {
-                    String machineId = deployConfig.getMachineId();
-                    AppRunning appRunning = runningRepository.findByAppIdAndMachineId(appId, machineId);
-                    if (appRunning == null) {
-                        appRunning = new AppRunning(app, deployConfig);
-                    } else {
-                        appRunning.update(app, deployConfig.getMachineIpv4());
-                    }
-                    return appRunning;
-                })
-                .collect(Collectors.toList());
-        runningRepository.saveAll(list);
     }
 
     @Override
@@ -116,7 +88,7 @@ public class BuildDeployConfigServiceImpl implements BuildDeployConfigService {
             appBuildingCrud.delete(appBuilding);
         }
 
-        List<AppDeploying> appDeployings = deployingRepository.findByAppId(appId);
+        /*List<AppDeploying> appDeployings = deployingRepository.findByAppId(appId);
         if (!appDeployings.isEmpty()) {
             deployingRepository.deleteAll(appDeployings);
         }
@@ -124,6 +96,6 @@ public class BuildDeployConfigServiceImpl implements BuildDeployConfigService {
         List<AppRunning> appRunnings = runningRepository.findByAppId(appId);
         if (!appRunnings.isEmpty()) {
             runningRepository.deleteAll(appRunnings);
-        }
+        }*/
     }
 }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/page/BuildDeployPageImpl.java

@@ -82,7 +82,7 @@ public class BuildDeployPageImpl implements BuildDeployPage {
         for (AppDeployConfig deployConfig : deployConfigs) {
             Map<String, String> queryMap = new HashMap<>();
             queryMap.put("appId", appId);
-            queryMap.put("machineId", deployConfig.getMachineId());
+            queryMap.put("machineId", deployConfig.getMachineHost().getMachineId());
             AppDeploying deploying = deployingQuery.query(queryMap);
             list.add(new AppDeployingVO(deploying));
         }

+ 0 - 13
dmaster/src/main/java/cn/reghao/autodop/dmaster/mqttsub/impl/rpcresult/AppRpcClazzResultImpl.java

@@ -9,8 +9,6 @@ import cn.reghao.autodop.dmaster.app.db.crud.AppRunningCrud;
 import cn.reghao.autodop.dmaster.app.db.query.AppDeployingQuery;
 import cn.reghao.autodop.dmaster.app.db.query.AppRunningQuery;
 import cn.reghao.autodop.dmaster.app.db.query.config.AppConfigQuery;
-import cn.reghao.autodop.dmaster.app.db.repository.AppDeployingRepository;
-import cn.reghao.autodop.dmaster.app.db.repository.AppRunningRepository;
 import cn.reghao.autodop.dmaster.app.db.repository.log.BuildLogRepository;
 import cn.reghao.autodop.dmaster.app.db.repository.log.DeployLogRepository;
 import cn.reghao.autodop.dmaster.app.model.po.AppDeploying;
@@ -90,13 +88,6 @@ public class AppRpcClazzResultImpl {
         String appId = buildLog.getAppId();
         String machineId = deployResult.getMachineId();
         AppRunning running = appRunningQuery.findByAppIdAndMachineId(appId, machineId);
-        if (running != null) {
-            running.update(buildLog, deployResult.getAppStatus());
-            appRunningCrud.update(running);
-        } else {
-            running = new AppRunning();
-            appRunningCrud.save(running);
-        }
     }
 
     private void deployNotify(BuildLog buildLog, DeployResult deployResult) {
@@ -122,9 +113,5 @@ public class AppRpcClazzResultImpl {
         String appId = appStatus.getAppId();
         String machineId = appStatus.getMachineId();
         AppRunning appRunning = appRunningQuery.findByAppIdAndMachineId(appId, machineId);
-        if (appRunning != null) {
-            appRunning.update(appStatus);
-            appRunningCrud.update(appRunning);
-        }
     }
 }