Bläddra i källkod

dagent - milestone
调整应用构建时 RPC 调用的参数和返回值

reghao 4 år sedan
förälder
incheckning
a6b5cacaf2

+ 5 - 1
common/src/main/java/cn/reghao/autodop/common/msg/rpc/dto/app/DeployParam.java

@@ -2,6 +2,8 @@ package cn.reghao.autodop.common.msg.rpc.dto.app;
 
 import lombok.Data;
 
+import java.io.Serializable;
+
 /**
  * 应用部署参数
  *
@@ -9,7 +11,9 @@ import lombok.Data;
  * @date 2020-12-25 19:00:54
  */
 @Data
-public class DeployParam {
+public class DeployParam implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private String buildLogId;
     private String packType;
     private String appId;

+ 5 - 5
common/src/main/java/cn/reghao/autodop/common/msg/rpc/dto/app/DeployResult.java

@@ -3,6 +3,7 @@ package cn.reghao.autodop.common.msg.rpc.dto.app;
 import cn.reghao.jdkutil.result.Result;
 import lombok.Data;
 
+import java.io.Serializable;
 import java.time.LocalDateTime;
 
 /**
@@ -10,18 +11,17 @@ import java.time.LocalDateTime;
  * @date 2021-05-28 13:48:01
  */
 @Data
-public class DeployResult {
+public class DeployResult implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private String buildLogId;
     private String machineId;
-    private String machineIpv4;
     private LocalDateTime deployTime;
     private Result result;
-    private StatusResult appStatus;
 
-    public DeployResult(String buildLogId, String machineId, String machineIpv4) {
+    public DeployResult(String buildLogId, String machineId) {
         this.buildLogId = buildLogId;
         this.machineId = machineId;
-        this.machineIpv4 = machineIpv4;
         this.deployTime = LocalDateTime.now();
     }
 }

+ 5 - 1
common/src/main/java/cn/reghao/autodop/common/msg/rpc/dto/app/StatusParam.java

@@ -4,6 +4,8 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.io.Serializable;
+
 /**
  * 单个 appId 参数,在调用 appStatusOps, appStartOps, appStopOps 以及 appRestartOps 等操作时传入的参数
  *
@@ -13,7 +15,9 @@ import lombok.NoArgsConstructor;
 @NoArgsConstructor
 @AllArgsConstructor
 @Data
-public class StatusParam {
+public class StatusParam implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private String packType;
     private String appId;
 }

+ 5 - 3
common/src/main/java/cn/reghao/autodop/common/msg/rpc/dto/app/StatusResult.java

@@ -2,6 +2,7 @@ package cn.reghao.autodop.common.msg.rpc.dto.app;
 
 import lombok.Data;
 
+import java.io.Serializable;
 import java.time.LocalDateTime;
 
 /**
@@ -11,11 +12,12 @@ import java.time.LocalDateTime;
  * @date 2021-02-22 16:24:08
  */
 @Data
-public class StatusResult {
+public class StatusResult implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private String machineId;
-    private String machineIpv4;
     private String appId;
-    private String packagePath;
+    private String commitId;
     private Boolean isRunning;
     private LocalDateTime startTime;
     private Integer pid;

+ 2 - 2
dagent/src/main/java/cn/reghao/autodop/dagent/app/DockerAppServiceImpl.java

@@ -58,9 +58,9 @@ public class DockerAppServiceImpl implements AppService {
     private StatusResult getAppStatus(String appId, ContainerInfo containerInfo) {
         StatusResult appStatus = new StatusResult();
         appStatus.setMachineId(Machine.ID);
-        appStatus.setMachineIpv4(Machine.IPV4);
         appStatus.setAppId(appId);
-        appStatus.setPackagePath(containerInfo.getConfig().getImage());
+        String image = containerInfo.getConfig().getImage();
+        appStatus.setCommitId(image.split(":")[1]);
 
         State state = containerInfo.getState();
         boolean isRunning = state.isRunning();

+ 4 - 5
dagent/src/main/java/cn/reghao/autodop/dagent/mqttsub/impl/AppRpcClazzImpl.java

@@ -10,6 +10,7 @@ import cn.reghao.autodop.dagent.app.DockerAppServiceImpl;
 import cn.reghao.autodop.dagent.app.ZipAppServiceImpl;
 import cn.reghao.jdkutil.result.Result;
 import cn.reghao.jdkutil.result.ResultStatus;
+import cn.reghao.jdkutil.serializer.JsonConverter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
@@ -34,18 +35,16 @@ public class AppRpcClazzImpl implements IAppRpcClazz {
         String packType = deployParam.getPackType();
 
         StatusResult appStatus;
-        DeployResult deployResult = new DeployResult(buildLogId, Machine.ID, Machine.IPV4);
+        DeployResult deployResult = new DeployResult(buildLogId, Machine.ID);
         try {
             switch (PackType.valueOf(packType)) {
                 case docker:
                     appStatus = dockerAppServiceImpl.deploy(deployParam);
-                    deployResult.setResult(Result.result(ResultStatus.SUCCESS));
-                    deployResult.setAppStatus(appStatus);
+                    deployResult.setResult(Result.result(ResultStatus.SUCCESS, JsonConverter.objectToJson(appStatus)));
                     break;
                 case zip:
                     appStatus = zipAppServiceImpl.deploy(deployParam);
-                    deployResult.setResult(Result.result(ResultStatus.SUCCESS));
-                    deployResult.setAppStatus(appStatus);
+                    deployResult.setResult(Result.result(ResultStatus.SUCCESS, JsonConverter.objectToJson(appStatus)));
                     break;
                 default:
                     String msg = String.format("应用包类型 %s 不存在", deployParam.getPackType());

+ 1 - 9
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/po/log/DeployLog.java

@@ -29,15 +29,7 @@ public class DeployLog extends BaseDocument {
 
     public static DeployLog from(DeployResult deployResult) {
         DeployLog deployLog = new DeployLog();
-        deployLog.setBuildLogId(deployResult.getBuildLogId());
-        deployLog.setResult(deployResult.getResult());
-        StatusResult appStatus = deployResult.getAppStatus();
-        if (appStatus != null) {
-            deployLog.setMachineId(appStatus.getMachineId());
-            deployLog.setMachineIpv4(appStatus.getMachineIpv4());
-            deployLog.setDeployTime(appStatus.getStartTime());
-        }
-        deployLog.setDeployBy("某人");
+        // TODO
         return deployLog;
     }
 }

+ 2 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/DeployNotifyMsg.java

@@ -33,14 +33,14 @@ public class DeployNotifyMsg {
         this.repoBranch = buildLog.getRepoBranch();
         this.commitId = buildLog.getCommitInfo().getCommitId();
         this.commitTime = DateTimeConverter.format(buildLog.getCommitInfo().getMsCommitTime());
-        this.machineIpv4 = deployResult.getMachineIpv4();
+        /*this.machineIpv4 = deployResult.getMachineIpv4();
         this.deployResult = deployResult.getResult().getMsg();
         StatusResult appStatus = deployResult.getAppStatus();
         if (appStatus != null) {
             this.deployTime = DateTimeConverter.format(appStatus.getStartTime());
         } else {
             this.deployTime = DateTimeConverter.format(0);
-        }
+        }*/
         this.deployBy = "某人";
     }