Sfoglia il codice sorgente

删除无用代码

reghao 5 anni fa
parent
commit
afc30ede03
57 ha cambiato i file con 214 aggiunte e 869 eliminazioni
  1. 17 0
      common/src/main/java/cn/reghao/autodop/common/dagent/app/api/data/DeployResult.java
  2. 1 0
      common/src/main/java/cn/reghao/autodop/common/dagent/app/api/data/deploy/AppDeployArgs.java
  3. 1 1
      common/src/main/java/cn/reghao/autodop/common/message/CallResult.java
  4. 22 0
      common/src/main/java/cn/reghao/autodop/common/mqtt/MosquittoProperties.java
  5. 6 13
      common/src/main/java/cn/reghao/autodop/common/mqtt/MqttPub.java
  6. 6 13
      common/src/main/java/cn/reghao/autodop/common/mqtt/MqttSub.java
  7. 20 0
      common/src/main/java/cn/reghao/autodop/common/result/Result.java
  8. 3 3
      common/src/main/java/cn/reghao/autodop/common/result/ResultStatus.java
  9. 0 29
      common/src/main/java/cn/reghao/autodop/common/result/RpcResult.java
  10. 15 7
      dagent/src/main/java/cn/reghao/autodop/dagent/app/App.java
  11. 2 1
      dagent/src/main/java/cn/reghao/autodop/dagent/app/AppService.java
  12. 7 2
      dagent/src/main/java/cn/reghao/autodop/dagent/app/DockerAppServiceImpl.java
  13. 2 1
      dagent/src/main/java/cn/reghao/autodop/dagent/app/ZipAppServiceImpl.java
  14. 4 7
      dagent/src/main/resources/application-dev.yml
  15. 4 7
      dagent/src/main/resources/application-prod.yml
  16. 4 7
      dagent/src/main/resources/application-test.yml
  17. 0 23
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/constant/BuildDeployResult.java
  18. 0 21
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/constant/BuildDeployType.java
  19. 0 12
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/constant/BuildStage.java
  20. 17 4
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/AppPageController.java
  21. 2 6
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/BuildDeployLogController.java
  22. 0 50
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/AppStatusCrudService.java
  23. 0 49
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/BuildLogCrudService.java
  24. 0 48
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/CommitLogCrudService.java
  25. 0 50
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/DeployLogCrudService.java
  26. 5 5
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/AppBuilding.java
  27. 0 13
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/BuildResult.java
  28. 3 4
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/BuildLog.java
  29. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/BuildTime.java
  30. 0 56
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/CommitLog.java
  31. 3 15
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/DeployLog.java
  32. 0 17
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/log/CommitLogRepository.java
  33. 0 8
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/log/DeployLogRepository.java
  34. 0 117
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/AppStatusService.java
  35. 7 5
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildDeployDispatcher.java
  36. 4 40
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildService.java
  37. 5 5
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildSupplier.java
  38. 0 10
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/SetOps.java
  39. 1 6
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/AppDeployer.java
  40. 11 13
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/BuildDeployNotifyMsg.java
  41. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/repo/ChangedFile.java
  42. 0 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/repo/CommitInfo.java
  43. 0 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/repo/GitImpl.java
  44. 0 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/repo/SvnImpl.java
  45. 0 81
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/log/BuildDeployLogConsumer.java
  46. 0 66
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/log/BuildDeployLogService.java
  47. 0 8
      dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/entity/MachineInfo.java
  48. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/FileController.java
  49. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/WebBody.java
  50. 9 6
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/dispatcher/AppOpsDispatcher.java
  51. 4 2
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/dispatcher/MachineOpsDispatcher.java
  52. 8 6
      dmaster/src/main/resources/application-dev.yml
  53. 4 6
      dmaster/src/main/resources/application-prod.yml
  54. 4 6
      dmaster/src/main/resources/application-test.yml
  55. 3 8
      dmaster/src/main/resources/templates/app/build.html
  56. 2 2
      dmaster/src/main/resources/templates/app/deploy.html
  57. 4 3
      dmaster/src/main/resources/templates/app/log.html

+ 17 - 0
common/src/main/java/cn/reghao/autodop/common/dagent/app/api/data/DeployResult.java

@@ -0,0 +1,17 @@
+package cn.reghao.autodop.common.dagent.app.api.data;
+
+import cn.reghao.autodop.common.result.Result;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * @author reghao
+ * @date 2021-05-28 13:48:01
+ */
+@AllArgsConstructor
+@Data
+public class DeployResult {
+    private String buildLogId;
+    private Result result;
+    private AppStatus appStatus;
+}

+ 1 - 0
common/src/main/java/cn/reghao/autodop/common/dagent/app/api/data/deploy/AppDeployArgs.java

@@ -11,6 +11,7 @@ import lombok.Data;
  */
 @Data
 public class AppDeployArgs {
+    private String buildLogId;
     private String packerType;
     private String appId;
     private String packagePath;

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/message/CallResult.java

@@ -3,7 +3,7 @@ package cn.reghao.autodop.common.message;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 
-import static cn.reghao.autodop.common.result.ResultCode.*;
+import static cn.reghao.autodop.common.result.ResultStatus.*;
 
 /**
  * RPC 调用结果

+ 22 - 0
common/src/main/java/cn/reghao/autodop/common/mqtt/MosquittoProperties.java

@@ -0,0 +1,22 @@
+package cn.reghao.autodop.common.mqtt;
+
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author reghao
+ * @date 2019-08-27 00:17:55
+ */
+@Data
+@Component
+@ConfigurationProperties(prefix = "mosquitto")
+public class MosquittoProperties {
+    @Value("${mosquitto.broker}")
+    private String broker;
+    @Value("${mosquitto.username}")
+    private String username;
+    @Value("${mosquitto.password}")
+    private String password;
+}

+ 6 - 13
common/src/main/java/cn/reghao/autodop/common/mqtt/MqttPub.java

@@ -1,6 +1,5 @@
 package cn.reghao.autodop.common.mqtt;
 
-import cn.reghao.autodop.common.utils.MachineId;
 import lombok.extern.slf4j.Slf4j;
 import org.eclipse.paho.client.mqttv3.*;
 import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
@@ -15,25 +14,19 @@ import java.util.UUID;
 @Slf4j
 @Component
 public class MqttPub implements AutoCloseable {
-    private String broker = "tcp://localhost:1883";
-    private String username = "dev";
-    private String password = "Dev@123456";
-    private String clientId = UUID.randomUUID().toString();
+    private MosquittoProperties properties;
     private MqttClient client;
 
-    public MqttPub() throws MqttException {
-        this.client = new MqttClient(broker, clientId, new MemoryPersistence());
-    }
-
-    public MqttPub(String clientId) throws MqttException {
-        this.client = new MqttClient(broker, clientId, new MemoryPersistence());
+    public MqttPub(MosquittoProperties properties) throws MqttException {
+        this.properties = properties;
+        this.client = new MqttClient(properties.getBroker(), UUID.randomUUID().toString(), new MemoryPersistence());
     }
 
     private MqttConnectOptions connectOptions() {
         MqttConnectOptions options = new MqttConnectOptions();
         options.setCleanSession(true);
-        options.setUserName(username);
-        options.setPassword(password.toCharArray());
+        options.setUserName(properties.getUsername());
+        options.setPassword(properties.getPassword().toCharArray());
         options.setConnectionTimeout(10);
         options.setKeepAliveInterval(20);
         return options;

+ 6 - 13
common/src/main/java/cn/reghao/autodop/common/mqtt/MqttSub.java

@@ -1,6 +1,5 @@
 package cn.reghao.autodop.common.mqtt;
 
-import cn.reghao.autodop.common.utils.MachineId;
 import lombok.extern.slf4j.Slf4j;
 import org.eclipse.paho.client.mqttv3.*;
 import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
@@ -15,25 +14,19 @@ import java.util.UUID;
 @Slf4j
 @Component
 public class MqttSub implements AutoCloseable {
-    private String broker = "tcp://localhost:1883";
-    private String username = "dev";
-    private String password = "Dev@123456";
-    private String clientId = UUID.randomUUID().toString();
+    private MosquittoProperties properties;
     private MqttClient client;
 
-    public MqttSub() throws MqttException {
-        this.client = new MqttClient(broker, clientId, new MemoryPersistence());
-    }
-
-    public MqttSub(String clientId) throws MqttException {
-        this.client = new MqttClient(broker, clientId, new MemoryPersistence());
+    public MqttSub(MosquittoProperties properties) throws MqttException {
+        this.properties = properties;
+        this.client = new MqttClient(properties.getBroker(), UUID.randomUUID().toString(), new MemoryPersistence());
     }
 
     private MqttConnectOptions connectOptions() {
         MqttConnectOptions options = new MqttConnectOptions();
         options.setCleanSession(true);
-        options.setUserName(username);
-        options.setPassword(password.toCharArray());
+        options.setUserName(properties.getUsername());
+        options.setPassword(properties.getPassword().toCharArray());
         options.setConnectionTimeout(10);
         options.setKeepAliveInterval(20);
         return options;

+ 20 - 0
common/src/main/java/cn/reghao/autodop/common/result/Result.java

@@ -0,0 +1,20 @@
+package cn.reghao.autodop.common.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author reghao
+ * @date 2021-05-21 16:25:02
+ */
+@NoArgsConstructor
+@Data
+public class Result {
+    private int code;
+    private String msg;
+
+    public Result(ResultStatus resultStatus) {
+        this.code = resultStatus.getCode();
+        this.msg = resultStatus.getMsg();
+    }
+}

+ 3 - 3
common/src/main/java/cn/reghao/autodop/common/result/ResultCode.java → common/src/main/java/cn/reghao/autodop/common/result/ResultStatus.java

@@ -1,12 +1,12 @@
 package cn.reghao.autodop.common.result;
 
 /**
- * 请求结果状态
+ * 结果状态
  *
  * @author reghao
  * @date 2019-10-17 16:18:25
  */
-public enum ResultCode {
+public enum ResultStatus {
     SUCCESS(0, "成功"),
     FAIL(1, "失败"),
     ERROR(-1, "错误");
@@ -14,7 +14,7 @@ public enum ResultCode {
     private int code;
     private String msg;
 
-    ResultCode(int code, String msg) {
+    ResultStatus(int code, String msg) {
         this.code = code;
         this.msg = msg;
     }

+ 0 - 29
common/src/main/java/cn/reghao/autodop/common/result/RpcResult.java

@@ -1,29 +0,0 @@
-package cn.reghao.autodop.common.result;
-
-import cn.reghao.autodop.common.utils.serializer.JsonConverter;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-
-import static cn.reghao.autodop.common.result.ResultCode.FAIL;
-import static cn.reghao.autodop.common.result.ResultCode.SUCCESS;
-
-/**
- * @author reghao
- * @date 2020-09-07 23:04:16
- */
-@Data
-@AllArgsConstructor
-public class RpcResult {
-    private Integer statusCode;
-    private String msg;
-
-    public static String success() {
-        RpcResult rpcResult = new RpcResult(SUCCESS.getCode(), "success");
-        return JsonConverter.objectToJson(rpcResult);
-    }
-
-    public static String fail(String msg) {
-        RpcResult rpcResult = new RpcResult(FAIL.getCode(), msg);
-        return JsonConverter.objectToJson(rpcResult);
-    }
-}

+ 15 - 7
dagent/src/main/java/cn/reghao/autodop/dagent/app/App.java

@@ -2,6 +2,7 @@ package cn.reghao.autodop.dagent.app;
 
 import cn.reghao.autodop.common.dagent.app.api.data.AppIdArgs;
 import cn.reghao.autodop.common.dagent.app.api.data.AppStatus;
+import cn.reghao.autodop.common.dagent.app.api.data.DeployResult;
 import cn.reghao.autodop.common.dagent.app.api.data.deploy.AppDeployArgs;
 import cn.reghao.autodop.common.dagent.app.api.data.deploy.PackerType;
 import cn.reghao.autodop.common.dagent.app.api.data.log.AppLogArgs;
@@ -9,6 +10,8 @@ import cn.reghao.autodop.common.dagent.app.api.data.log.LogConfig;
 import cn.reghao.autodop.common.dagent.app.api.data.log.LogFile;
 import cn.reghao.autodop.common.docker.exception.DockerException;
 import cn.reghao.autodop.common.message.CallResult;
+import cn.reghao.autodop.common.result.Result;
+import cn.reghao.autodop.common.result.ResultStatus;
 import cn.reghao.autodop.common.utils.ExceptionUtil;
 import cn.reghao.autodop.common.utils.serializer.JsonConverter;
 import lombok.extern.slf4j.Slf4j;
@@ -31,26 +34,31 @@ public class App {
         this.zipAppServiceImpl = new ZipAppServiceImpl();
     }
 
-    public CallResult<AppStatus> deploy(String payload) {
+    public DeployResult deploy(String payload) {
         AppDeployArgs appDeployArgs = JsonConverter.jsonToObject(payload, AppDeployArgs.class);
+        String buildLogId = appDeployArgs.getBuildLogId();
         String packerType = appDeployArgs.getPackerType();
 
-        AppStatus appStatus;
+        DeployResult deployResult;
         switch (PackerType.valueOf(packerType)) {
             case docker:
                 try {
-                    appStatus = dockerAppServiceImpl.deploy(appDeployArgs);
+                    deployResult = dockerAppServiceImpl.deploy(appDeployArgs);
                 } catch (DockerException e) {
-                    return CallResult.fail(ExceptionUtil.errorMsg(e));
+                    Result result = new Result(ResultStatus.FAIL);
+                    result.setMsg(ExceptionUtil.errorMsg(e));
+                    return new DeployResult(buildLogId, result, null);
                 }
                 break;
             case zip:
-                appStatus = zipAppServiceImpl.deploy(appDeployArgs);
+                deployResult = zipAppServiceImpl.deploy(appDeployArgs);
                 break;
             default:
-                return CallResult.error("打包类型 " + appDeployArgs.getPackerType() + " 不存在");
+                Result result = new Result(ResultStatus.ERROR);
+                result.setMsg("打包类型 " + appDeployArgs.getPackerType() + " 不存在");
+                return new DeployResult(buildLogId, result, null);
         }
-        return CallResult.success(appStatus);
+        return deployResult;
     }
 
     public CallResult log(String payload) {

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

@@ -1,6 +1,7 @@
 package cn.reghao.autodop.dagent.app;
 
 import cn.reghao.autodop.common.dagent.app.api.data.AppStatus;
+import cn.reghao.autodop.common.dagent.app.api.data.DeployResult;
 import cn.reghao.autodop.common.dagent.app.api.data.deploy.AppDeployArgs;
 import cn.reghao.autodop.common.dagent.app.api.data.log.AppLogArgs;
 import cn.reghao.autodop.common.dagent.app.api.data.log.LogFile;
@@ -13,7 +14,7 @@ import java.util.List;
  * @date 2021-02-22 16:21:28
  */
 public interface AppService {
-    AppStatus deploy(AppDeployArgs appDeployArgs) throws DockerException;
+    DeployResult deploy(AppDeployArgs appDeployArgs) throws DockerException;
     /**
      * 日志文件列表
      *

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

@@ -1,6 +1,7 @@
 package cn.reghao.autodop.dagent.app;
 
 import cn.reghao.autodop.common.dagent.app.api.data.AppStatus;
+import cn.reghao.autodop.common.dagent.app.api.data.DeployResult;
 import cn.reghao.autodop.common.dagent.app.api.data.deploy.AppDeployArgs;
 import cn.reghao.autodop.common.dagent.app.api.data.log.AppLogArgs;
 import cn.reghao.autodop.common.dagent.app.api.data.log.LogConfig;
@@ -12,6 +13,8 @@ import cn.reghao.autodop.common.docker.exception.DockerException;
 import cn.reghao.autodop.common.docker.pojo.Config;
 import cn.reghao.autodop.common.docker.pojo.State;
 import cn.reghao.autodop.common.docker.pojo.result.ContainerInfo;
+import cn.reghao.autodop.common.result.Result;
+import cn.reghao.autodop.common.result.ResultStatus;
 import cn.reghao.autodop.common.utils.DateTimeConverter;
 import cn.reghao.autodop.common.utils.ExceptionUtil;
 
@@ -26,7 +29,7 @@ public class DockerAppServiceImpl implements AppService {
     private final long sleep = 10_000;
 
     @Override
-    public AppStatus deploy(AppDeployArgs appDeployArgs) throws DockerException {
+    public DeployResult deploy(AppDeployArgs appDeployArgs) throws DockerException {
         String appId = appDeployArgs.getAppId();
         String packagePath = appDeployArgs.getPackagePath();
         Config dockerConfig = appDeployArgs.getDockerConfig();
@@ -38,7 +41,9 @@ public class DockerAppServiceImpl implements AppService {
             Thread.sleep(sleep);
 
             ContainerInfo containerInfo = docker.inspectContainer(containerId);
-            return getAppStatus(appId, containerInfo);
+            AppStatus appStatus = getAppStatus(appId, containerInfo);
+            Result result = new Result(ResultStatus.SUCCESS);
+            return new DeployResult(appDeployArgs.getBuildLogId(), result, appStatus);
         } catch (InterruptedException e) {
             throw new DockerException(ExceptionUtil.errorMsg(e));
         }

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

@@ -1,6 +1,7 @@
 package cn.reghao.autodop.dagent.app;
 
 import cn.reghao.autodop.common.dagent.app.api.data.AppStatus;
+import cn.reghao.autodop.common.dagent.app.api.data.DeployResult;
 import cn.reghao.autodop.common.dagent.app.api.data.deploy.AppDeployArgs;
 import cn.reghao.autodop.common.dagent.app.api.data.log.AppLogArgs;
 import cn.reghao.autodop.common.dagent.app.api.data.log.LogFile;
@@ -16,7 +17,7 @@ import java.util.List;
 @Slf4j
 public class ZipAppServiceImpl implements AppService {
     @Override
-    public AppStatus deploy(AppDeployArgs appDeployArgs) {
+    public DeployResult deploy(AppDeployArgs appDeployArgs) {
         log.info("zip 部署...");
         return null;
     }

+ 4 - 7
dagent/src/main/resources/application-dev.yml

@@ -1,7 +1,4 @@
-spring:
-  rabbitmq:
-    host: localhost
-    port: 5672
-    virtual-host: /
-    username: dev
-    password: Dev@12345678
+mosquitto:
+  broker: tcp://localhost:1883
+  username: dev
+  password: Dev@123456

+ 4 - 7
dagent/src/main/resources/application-prod.yml

@@ -1,7 +1,4 @@
-spring:
-  rabbitmq:
-    host: mq.srv.iquizoo.com
-    port: 5672
-    username: iquizoo-mq1
-    password: z2pT1PXR
-    virtual-host: /
+mosquitto:
+  broker: tcp://localhost:1883
+  username: dev
+  password: Dev@123456

+ 4 - 7
dagent/src/main/resources/application-test.yml

@@ -1,7 +1,4 @@
-spring:
-  rabbitmq:
-    host: 192.168.0.70
-    port: 5672
-    username: azy
-    password: 12345678
-    virtual-host: /
+mosquitto:
+  broker: tcp://192.168.0.220:1883
+  username: test
+  password: Test@123456

+ 0 - 23
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/constant/BuildDeployResult.java

@@ -1,23 +0,0 @@
-package cn.reghao.autodop.dmaster.app.constant;
-
-/**
- * 构建部署结果
- *
- * @author reghao
- * @date 2021-03-05 10:19:16
- */
-public enum BuildDeployResult {
-    onBuilding("正在构建中"), buildDone("构建成功"),
-    noDeployConfig("应用未配置需部署的机器"), onDeploying("正在部署中"), deployDone("部署成功"),
-    noDeploy("当前运行的应用已是最新版本,不需要更新");
-
-    private String name;
-
-    private BuildDeployResult(String name) {
-        this.name = name;
-    }
-
-    public String getName() {
-        return name;
-    }
-}

+ 0 - 21
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/constant/BuildDeployType.java

@@ -1,21 +0,0 @@
-package cn.reghao.autodop.dmaster.app.constant;
-
-/**
- * 构建部署类型
- *
- * @author reghao
- * @date 2021-03-05 10:19:16
- */
-public enum BuildDeployType {
-    build("构建"), deploy("部署");
-
-    private String name;
-
-    private BuildDeployType(String name) {
-        this.name = name;
-    }
-
-    public String getName() {
-        return name;
-    }
-}

+ 0 - 12
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/constant/BuildStage.java

@@ -1,12 +0,0 @@
-package cn.reghao.autodop.dmaster.app.constant;
-
-/**
- * 应用构建所处的阶段
- *
- * @author reghao
- * @date 2021-02-05 23:56:58
- */
-@Deprecated
-public enum BuildStage {
-    update, compile, pack, done
-}

+ 17 - 4
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/AppPageController.java

@@ -1,5 +1,6 @@
 package cn.reghao.autodop.dmaster.app.controller;
 
+import cn.reghao.autodop.common.result.Result;
 import cn.reghao.autodop.dmaster.app.constant.AppType;
 import cn.reghao.autodop.dmaster.app.constant.EnvType;
 import cn.reghao.autodop.dmaster.app.entity.config.AppOrchestration;
@@ -8,6 +9,7 @@ import cn.reghao.autodop.dmaster.app.repository.AppBuildingRepository;
 import cn.reghao.autodop.dmaster.app.repository.config.AppOrchestrationRepository;
 import cn.reghao.autodop.dmaster.app.entity.AppBuilding;
 import cn.reghao.autodop.dmaster.app.entity.AppDeploying;
+import cn.reghao.autodop.dmaster.app.repository.log.DeployLogRepository;
 import cn.reghao.autodop.dmaster.common.db.PageList;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -21,7 +23,6 @@ import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * @author reghao
@@ -34,10 +35,14 @@ import java.util.stream.Collectors;
 public class AppPageController {
     private AppOrchestrationRepository appRepository;
     private AppBuildingRepository appBuildingRepository;
+    private DeployLogRepository deployLogRepository;
 
-    public AppPageController(AppOrchestrationRepository appRepository, AppBuildingRepository appBuildingRepository) {
+    public AppPageController(AppOrchestrationRepository appRepository,
+                             AppBuildingRepository appBuildingRepository,
+                             DeployLogRepository deployLogRepository) {
         this.appRepository = appRepository;
         this.appBuildingRepository = appBuildingRepository;
+        this.deployLogRepository = deployLogRepository;
     }
 
     @ApiOperation(value = "构建页面")
@@ -50,7 +55,8 @@ public class AppPageController {
         PageRequest pageRequest =
                 PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
 
-        Page<AppBuilding> appBuildings = appBuildingRepository.findAllByEnvAndAppType(env, appType, pageRequest);
+        //Page<AppBuilding> appBuildings = appBuildingRepository.findAllByEnvAndAppType(env, appType, pageRequest);
+        Page<AppBuilding> appBuildings = appBuildingRepository.findAllByEnv(env, pageRequest);
         PageList<AppBuilding> pageList = PageList.pageList(appBuildings);
 
         model.addAttribute("page", appBuildings);
@@ -74,7 +80,14 @@ public class AppPageController {
     @ApiOperation(value = "构建日志结果页面")
     @GetMapping("/log/build/{buildLogId}/result")
     public String buildLogResultPage(@PathVariable("buildLogId") BuildLog buildLog, Model model) {
-        String msg = buildLog.getBuildResult().getMsg();
+        Result result = buildLog.getResult();
+        if (result != null) {
+            String msg = buildLog.getResult().getMsg();
+            model.addAttribute("msg", msg);
+        } else {
+            model.addAttribute("msg", "尚未构建");
+        }
+
         return "/app/log";
     }
 

+ 2 - 6
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/BuildDeployLogController.java

@@ -3,7 +3,6 @@ package cn.reghao.autodop.dmaster.app.controller;
 import cn.reghao.autodop.dmaster.utils.WebBody;
 import cn.reghao.autodop.dmaster.app.constant.EnvType;
 import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
-import cn.reghao.autodop.dmaster.app.entity.log.CommitLog;
 import cn.reghao.autodop.dmaster.app.entity.log.DeployLog;
 import cn.reghao.autodop.dmaster.app.service.BuildService;
 import cn.reghao.autodop.dmaster.common.db.PageList;
@@ -32,17 +31,14 @@ public class BuildDeployLogController {
     @GetMapping("/log/commit")
     public ResponseEntity<String> commitLogs(@RequestParam("page") int page, @RequestParam("size") int size,
                                              @RequestParam("env") String env) {
-        PageList<CommitLog> pageList = buildService.commitLogs(page, size, EnvType.valueOf(env).name());
-        return ResponseEntity.ok().body(WebBody.success(pageList));
+        return ResponseEntity.ok().body("");
     }
 
     @ApiOperation(value = "某个应用的代码日志")
     @GetMapping("/log/commit/{appId}")
     public ResponseEntity<String> commitLogsByApp(@RequestParam("page") int page, @RequestParam("size") int size,
                                                   @PathVariable("appId") String appId) {
-
-        PageList<CommitLog> pageList = buildService.commitLogsByApp(page, size, appId);
-        return ResponseEntity.ok().body(WebBody.success(pageList));
+        return ResponseEntity.ok().body(WebBody.success(""));
     }
 
     @ApiOperation(value = "构建日志")

+ 0 - 50
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/AppStatusCrudService.java

@@ -1,50 +0,0 @@
-package cn.reghao.autodop.dmaster.app.db.log;
-
-//import cn.reghao.autodop.dmaster.app.repository.status.AppStatusRepository;
-
-
-/**
- * @author reghao
- * @date 2021-02-19 16:39:29
- */
-/*@Service
-public class AppStatusCrudService implements CrudOps<DeployedAppStatus> {
-    private AppStatusRepository statusRepository;
-
-    public AppStatusCrudService(AppStatusRepository statusRepository) {
-        this.statusRepository = statusRepository;
-    }
-
-    @Override
-    public void insert(DeployedAppStatus deployedAppStatus) throws Exception {
-        String appId = deployedAppStatus.getAppId();
-        String commitId = deployedAppStatus.getCommitId();
-        String machineId = deployedAppStatus.getMachineId();
-        DeployedAppStatus entity = statusRepository.findByAppIdAndCommitIdAndMachineId(appId, commitId, machineId);
-        if (entity != null) {
-            deployedAppStatus.setId(entity.getId());
-            deployedAppStatus.setCreateTime(entity.getCreateTime());
-            deployedAppStatus.setUpdateTime(LocalDateTime.now());
-        }
-        deployedAppStatus.setIsDelete(false);
-        statusRepository.save(deployedAppStatus);
-    }
-
-    @Override
-    public PageList<DeployedAppStatus> getByPage(int page, int size, String env) {
-        // 默认按更新时间倒序
-        PageRequest pageRequest =
-                PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
-
-        Page<DeployedAppStatus> page1 = statusRepository.findAllByEnv(env, pageRequest);
-        PageList<DeployedAppStatus> pageList = new PageList<>();
-        pageList.setTotalSize(page1.getTotalElements());
-        pageList.setTotalPages(page1.getTotalPages());
-        pageList.setList(page1.getContent().stream().map(DeployedAppStatus::vo).collect(Collectors.toList()));
-        return pageList;
-    }
-
-    @Override
-    public void delete(String uniqueKey) throws Exception {
-    }
-}*/

+ 0 - 49
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/BuildLogCrudService.java

@@ -1,49 +0,0 @@
-package cn.reghao.autodop.dmaster.app.db.log;
-
-import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
-import cn.reghao.autodop.dmaster.app.repository.log.BuildLogRepository;
-import cn.reghao.autodop.dmaster.common.db.CrudOps;
-import cn.reghao.autodop.dmaster.common.db.PageList;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
-import org.springframework.stereotype.Service;
-
-import java.util.stream.Collectors;
-
-/**
- * @author reghao
- * @date 2021-02-19 16:39:29
- */
-@Service
-public class BuildLogCrudService implements CrudOps<BuildLog> {
-    private BuildLogRepository buildLogRepository;
-
-    public BuildLogCrudService(BuildLogRepository buildLogRepository) {
-        this.buildLogRepository = buildLogRepository;
-    }
-
-    @Override
-    public void insert(BuildLog buildLog) {
-        /*BuildLog entity =
-                buildLogRepository.findByAppIdAndRepoAndCompilerAndPackerAndPackScriptAndCommitIdAndStatusCode(
-                buildLog.getAppId(), buildLog.getRepo(), buildLog.getCompiler(), buildLog.getPacker(),
-                buildLog.getPackScript(), buildLog.getCommitId(), buildLog.getStatusCode());
-        if (entity == null) {
-            buildLogRepository.save(buildLog);
-        }*/
-    }
-
-    @Override
-    public PageList<BuildLog> getByPage(int page, int size, String env) {
-        // 默认按更新时间倒序
-        Sort sortBy = Sort.by(Sort.Direction.DESC, "updateTime");
-        PageRequest pageRequest = PageRequest.of(page-1, size, sortBy);
-        Page<BuildLog> page1 = buildLogRepository.findAll(pageRequest);
-        PageList<BuildLog> pageList = new PageList<>();
-        pageList.setTotalSize(page1.getTotalElements());
-        pageList.setTotalPages(page1.getTotalPages());
-        //pageList.setList(page1.getContent().stream().map(BuildLog::vo).collect(Collectors.toList()));
-        return pageList;
-    }
-}

+ 0 - 48
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/CommitLogCrudService.java

@@ -1,48 +0,0 @@
-package cn.reghao.autodop.dmaster.app.db.log;
-
-import cn.reghao.autodop.dmaster.app.entity.log.CommitLog;
-import cn.reghao.autodop.dmaster.app.repository.log.CommitLogRepository;
-import cn.reghao.autodop.dmaster.common.db.CrudOps;
-import cn.reghao.autodop.dmaster.common.db.PageList;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
-import org.springframework.stereotype.Service;
-
-import java.util.stream.Collectors;
-
-/**
- * @author reghao
- * @date 2021-02-19 16:39:29
- */
-@Service
-public class CommitLogCrudService implements CrudOps<CommitLog> {
-    private CommitLogRepository commitLogRepository;
-
-    public CommitLogCrudService(CommitLogRepository commitLogRepository) {
-        this.commitLogRepository = commitLogRepository;
-    }
-
-    @Override
-    public void insert(CommitLog commitLog) {
-        CommitLog entity = commitLogRepository.findByAppIdAndRepoAndCommitId(
-                commitLog.getAppId(), commitLog.getRepo(), commitLog.getCommitId());
-        if (entity == null) {
-            commitLogRepository.save(commitLog);
-        }
-    }
-
-    @Override
-    public PageList<CommitLog> getByPage(int page, int size, String env) {
-        // 默认按更新时间倒序
-        PageRequest pageRequest =
-                PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
-
-        Page<CommitLog> page1 = commitLogRepository.findAll(pageRequest);
-        PageList<CommitLog> pageList = new PageList<>();
-        pageList.setTotalSize(page1.getTotalElements());
-        pageList.setTotalPages(page1.getTotalPages());
-        pageList.setList(page1.getContent().stream().map(CommitLog::vo).collect(Collectors.toList()));
-        return pageList;
-    }
-}

+ 0 - 50
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/DeployLogCrudService.java

@@ -1,50 +0,0 @@
-package cn.reghao.autodop.dmaster.app.db.log;
-
-import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
-import cn.reghao.autodop.dmaster.app.entity.log.DeployLog;
-import cn.reghao.autodop.dmaster.app.repository.log.DeployLogRepository;
-import cn.reghao.autodop.dmaster.common.db.CrudOps;
-import cn.reghao.autodop.dmaster.common.db.PageList;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
-import org.springframework.stereotype.Service;
-
-import java.util.stream.Collectors;
-
-/**
- * @author reghao
- * @date 2021-02-19 16:39:29
- */
-@Service
-public class DeployLogCrudService implements CrudOps<DeployLog> {
-    private DeployLogRepository deployLogRepository;
-
-    public DeployLogCrudService(DeployLogRepository deployLogRepository) {
-        this.deployLogRepository = deployLogRepository;
-    }
-
-    @Override
-    public void insert(DeployLog deployLog) {
-        String machineId = deployLog.getMachineId();
-        BuildLog buildLog = deployLog.getBuildLog();
-        DeployLog entity = deployLogRepository.findByBuildLogAndMachineId(buildLog, machineId);
-        if (entity == null) {
-            deployLogRepository.save(deployLog);
-        }
-    }
-
-    @Override
-    public PageList<DeployLog> getByPage(int page, int size, String env) {
-        // 默认按更新时间倒序
-        PageRequest pageRequest =
-                PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
-
-        Page<DeployLog> page1 = deployLogRepository.findAll(pageRequest);
-        PageList<DeployLog> pageList = new PageList<>();
-        pageList.setTotalSize(page1.getTotalElements());
-        pageList.setTotalPages(page1.getTotalPages());
-        pageList.setList(page1.getContent().stream().map(DeployLog::vo).collect(Collectors.toList()));
-        return pageList;
-    }
-}

+ 5 - 5
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/AppBuilding.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dmaster.app.entity;
 
-import cn.reghao.autodop.common.result.ResultCode;
+import cn.reghao.autodop.common.result.ResultStatus;
 import cn.reghao.autodop.common.utils.DateTimeConverter;
 import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
 import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CommitInfo;
@@ -52,11 +52,11 @@ public class AppBuilding extends BaseEntity<Integer> {
             appBuilding.setCommitTime(DateTimeConverter.localDateTime(commitInfo.getMsCommitTime()));
         }
 
-        int code = buildLog.getBuildResult().getCode();
-        if (code == ResultCode.SUCCESS.getCode()) {
-            appBuilding.setBuildResult(ResultCode.SUCCESS.getMsg());
+        int code = buildLog.getResult().getCode();
+        if (code == ResultStatus.SUCCESS.getCode()) {
+            appBuilding.setBuildResult(ResultStatus.SUCCESS.getMsg());
         } else {
-            appBuilding.setBuildResult(ResultCode.FAIL.getMsg());
+            appBuilding.setBuildResult(ResultStatus.FAIL.getMsg());
         }
         appBuilding.setBuildTime(buildLog.getBuildTime().getBuildTime());
         appBuilding.setBuildLogId(buildLog.getId());

+ 0 - 13
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/BuildResult.java

@@ -1,13 +0,0 @@
-package cn.reghao.autodop.dmaster.app.entity;
-
-import lombok.Data;
-
-/**
- * @author reghao
- * @date 2021-05-21 16:25:02
- */
-@Data
-public class BuildResult {
-    private int code;
-    private String msg;
-}

+ 3 - 4
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/BuildLog.java

@@ -1,7 +1,6 @@
 package cn.reghao.autodop.dmaster.app.entity.log;
 
-import cn.reghao.autodop.dmaster.app.entity.BuildResult;
-import cn.reghao.autodop.dmaster.app.entity.BuildTime;
+import cn.reghao.autodop.common.result.Result;
 import cn.reghao.autodop.dmaster.app.entity.config.AppOrchestration;
 import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CommitInfo;
 import cn.reghao.autodop.dmaster.common.orm.BaseDocument;
@@ -31,7 +30,7 @@ public class BuildLog extends BaseDocument {
 
     private CommitInfo commitInfo;
     private BuildTime buildTime;
-    private BuildResult buildResult;
+    private Result result;
 
     public static BuildLog from(AppOrchestration app) {
         BuildLog buildLog = new BuildLog();
@@ -45,7 +44,7 @@ public class BuildLog extends BaseDocument {
         buildLog.setPackScript(app.getPackScript());
 
         buildLog.setBuildTime(new BuildTime());
-        buildLog.setBuildResult(new BuildResult());
+        buildLog.setResult(new Result());
         return buildLog;
     }
 }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/BuildTime.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/BuildTime.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.entity;
+package cn.reghao.autodop.dmaster.app.entity.log;
 
 import lombok.Data;
 

+ 0 - 56
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/CommitLog.java

@@ -1,56 +0,0 @@
-package cn.reghao.autodop.dmaster.app.entity.log;
-
-import cn.reghao.autodop.dmaster.app.entity.config.AppOrchestration;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CommitInfo;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.List;
-
-/**
- * 代码提交日志
- *
- * @author reghao
- * @date 2020-05-13 22:50:38
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Deprecated
-public class CommitLog {
-    private String appId;
-    private String env;
-    private String repo;
-    private String remote;
-    private String branch;
-    private String local;
-    // 代码是否更新
-    private boolean isUpdate;
-    private String commitId;
-    private String commitAuthor;
-    private String commitMsg;
-    // 毫秒级时间戳
-    private Long msCommitTime;
-    private List<ChangedFile> changedFiles;
-
-    @Deprecated
-    public CommitLog vo() {
-        return this;
-    }
-
-    public static CommitLog from(AppOrchestration app, CommitInfo commitInfo) {
-        CommitLog commitLog = new CommitLog();
-        commitLog.setAppId(app.getAppId());
-        commitLog.setEnv(app.getEnv());
-        commitLog.setRepo(app.getBuildConfig().getRepoAuthConfig().getName());
-        commitLog.setRemote(commitInfo.getRemote());
-        commitLog.setBranch(commitInfo.getBranch());
-        commitLog.setLocal(commitInfo.getLocal());
-        commitLog.setUpdate(commitInfo.isUpdate());
-        commitLog.setCommitId(commitInfo.getCommitId());
-        commitLog.setCommitAuthor(commitInfo.getCommitAuthor());
-        commitLog.setCommitMsg(commitInfo.getCommitMsg());
-        commitLog.setMsCommitTime(commitInfo.getMsCommitTime());
-        commitLog.setChangedFiles(commitInfo.getChangedFiles());
-        return commitLog;
-    }
-}

+ 3 - 15
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/DeployLog.java

@@ -1,5 +1,6 @@
 package cn.reghao.autodop.dmaster.app.entity.log;
 
+import cn.reghao.autodop.common.result.Result;
 import cn.reghao.autodop.dmaster.common.orm.BaseDocument;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -17,27 +18,14 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = false)
 @Document("DeployLog")
 public class DeployLog extends BaseDocument {
-    private BuildLog buildLog;
+    private String buildLogId;
     private String machineId;
     private String machineIpv4;
     private LocalDateTime deployTime;
-    private long deployTotalTime;
-    // 0 - 成功 1 - 失败
-    private Integer statusCode;
-    private String result;
-
-    @Deprecated
-    public DeployLog vo() {
-        this.setId(null);
-        this.setIsDelete(null);
-        this.setCreateTime(null);
-        this.setUpdateTime(null);
-        return this;
-    }
+    private Result result;
 
     public static DeployLog from(BuildLog buildLog) {
         DeployLog deployLog = new DeployLog();
-        deployLog.setBuildLog(buildLog);
         return deployLog;
     }
 }

+ 0 - 17
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/log/CommitLogRepository.java

@@ -1,17 +0,0 @@
-package cn.reghao.autodop.dmaster.app.repository.log;
-
-import cn.reghao.autodop.dmaster.app.entity.log.CommitLog;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.mongodb.repository.MongoRepository;
-
-/**
- * @author reghao
- * @date 2020-01-21 14:53:03
- */
-public interface CommitLogRepository extends MongoRepository<CommitLog, Long> {
-    // 唯一值
-    CommitLog findByAppIdAndRepoAndCommitId(String appId, String repo, String commitId);
-    Page<CommitLog> findByEnv(String env, Pageable pageable);
-    Page<CommitLog> findByEnvAndAppId(String env, String appId, Pageable pageable);
-}

+ 0 - 8
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/log/DeployLogRepository.java

@@ -1,6 +1,5 @@
 package cn.reghao.autodop.dmaster.app.repository.log;
 
-import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
 import cn.reghao.autodop.dmaster.app.entity.log.DeployLog;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -11,11 +10,4 @@ import org.springframework.data.mongodb.repository.MongoRepository;
  * @date 2020-01-21 14:53:03
  */
 public interface DeployLogRepository extends MongoRepository<DeployLog, Long> {
-    // 唯一值
-    DeployLog findByBuildLogAndMachineId(BuildLog buildLog, String machineId);
-    /*DeployLog findByMachineIdAndAppIdAndPackerAndCommitIdAndStatusCode(
-            String machineId, String appId, String packer, String commitId, int statusCode);*/
-    Page<DeployLog> findByBuildLog_Env(String env, Pageable pageable);
-    Page<DeployLog> findByBuildLog_EnvAndBuildLog_AppId(String env, String appId, Pageable pageable);
-    Page<DeployLog> findByBuildLog_EnvAndBuildLog_AppIdAndStatusCode(String env, String appId, int statusCode, Pageable pageable);
 }

+ 0 - 117
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/AppStatusService.java

@@ -40,12 +40,9 @@ public class AppStatusService {
      * @date 2021-03-04 下午2:09
      */
     public void refreshDeployedApps(String env) {
-        List<AppOrchestration> enabledApps = cache.findEnabledApps(env);
     }
 
     public PageList<AppStatus> deployedAppStatus(int page, int size, String env) {
-        /*PageList<DeployedAppStatus> pageList = statusCrudService.getByPage(page, size, env);
-        return pageList;*/
         return null;
     }
 
@@ -58,39 +55,6 @@ public class AppStatusService {
      */
     public List<LogFile> logFiles(String appId, String machineId) {
         AppOrchestration app = cache.findByAppId(appId);
-        /*List<LogConfig> logConfigs = app.getRunningConfig().getLogConfigs()
-                .stream()
-                .filter(LogConfig::getIsDir)
-                .map(logConfig -> new LogConfig(
-                        logConfig.getType(), logConfig.getLevel(), logConfig.getLogPath()))
-                .collect(Collectors.toList());
-
-        List<DeployConfig> deployConfigs = app.getDeployConfigs().stream()
-                .filter(deployConfig -> deployConfig.getMachineId().equals(machineId))
-                .collect(Collectors.toList());
-        DeployConfig deployConfig = deployConfigs.get(0);
-
-        AppLogArgs appLogArgs = new AppLogArgs();
-        appLogArgs.setPackerType(deployConfig.getPackerType());
-        appLogArgs.setAppId(appId);
-        appLogArgs.setLogConfigs(logConfigs);
-
-        MqMessage mqMessage = new MqMessage();
-        mqMessage.setMachineId(deployConfig.getMachineId());
-        mqMessage.setSendTime(System.currentTimeMillis());
-        mqMessage.setRpc(true);
-        mqMessage.setType(MessageType.appType.name());
-        mqMessage.setOps(AppOps.appLogOps.name());
-        mqMessage.setPayload(JsonConverter.objectToJson(appLogArgs));
-
-        RpcResult rpcResult = callService.call(mqMessage);
-        if (rpcResult.getStatusCode() == 0) {
-            String result = rpcResult.getResult();
-            JsonArrayDeserializer<LogFile> deserializer = new JsonArrayDeserializer<>();
-            List<LogFile> logFiles = deserializer.fromJsonArray(result, LogFile.class);
-            return logFiles;
-        }*/
-
         return null;
     }
 
@@ -103,91 +67,10 @@ public class AppStatusService {
      */
     public List<String> logContent(String appId, String logType, String logLevel, String machineId, String logFile) {
         AppOrchestration app = cache.findByAppId(appId);
-        /*List<LogConfig> logConfigs = app.getRunningConfig().getLogConfigs().stream()
-                .filter(logConfig -> logConfig.getType().equals(logType) && logConfig.getLevel().equals(logLevel))
-                .collect(Collectors.toList());
-        LogConfig logConfig = logConfigs.get(0);
-
-        LogConfig config = new LogConfig(logType, logLevel, logConfig.getLogPath() + "/" + logFile, false);
-        List<LogConfig> configs = new ArrayList<>();
-        configs.add(config);
-
-        List<DeployConfig> deployConfigs = app.getDeployConfigs().stream()
-                .filter(deployConfig -> deployConfig.getMachineId().equals(machineId))
-                .collect(Collectors.toList());
-        DeployConfig deployConfig = deployConfigs.get(0);
-
-        AppLogArgs appLogArgs = new AppLogArgs();
-        appLogArgs.setPackerType(deployConfig.getPackerType());
-        appLogArgs.setAppId(appId);
-        appLogArgs.setLogConfigs(configs);
-
-        MqMessage mqMessage = new MqMessage();
-        mqMessage.setMachineId(deployConfig.getMachineId());
-        mqMessage.setSendTime(System.currentTimeMillis());
-        mqMessage.setRpc(true);
-        mqMessage.setType(MessageType.appType.name());
-        mqMessage.setOps(AppOps.appLogOps.name());
-        mqMessage.setPayload(JsonConverter.objectToJson(appLogArgs));
-
-        RpcResult rpcResult = callService.call(mqMessage);
-        if (rpcResult.getStatusCode() == 0) {
-            String result = rpcResult.getResult();
-            JsonArrayDeserializer<String> deserializer = new JsonArrayDeserializer<>();
-            List<String> logContent = deserializer.fromJsonArray(result, String.class);
-            return logContent;
-        }*/
         return null;
     }
 
     private List<String> getAppLog(String appId, String logType, String logLevel, String machineId, String logFile) {
-        /*AppOrchestration app = cache.findByAppId(appId);
-        List<LogConfig> list = app.getRunningConfig().getLogConfigs();
-        List<LogConfig> configs = list.stream()
-                .filter(logConfig -> logConfig.getType().equals(logType))
-                .filter(logConfig -> logConfig.getLevel().equals(logLevel))
-                .collect(Collectors.toList());
-
-        if (configs.size() != 1) {
-            return null;
-        }
-
-        LogConfig logConfig = configs.get(0);
-        List<MqMessage> mqMessages = new ArrayList<>();
-        for (DeployConfig deployConfig : app.getDeployConfigs()) {
-            if (deployConfig.getMachineId().equals(machineId)) {
-                AppLogArgs appLogArgs = new AppLogArgs();
-                appLogArgs.setPackerType(deployConfig.getPackerType());
-                appLogArgs.setAppId(appId);
-                appLogArgs.setLogType(logType);
-                appLogArgs.setLogLevel(logLevel);
-                appLogArgs.setLogFile(true);
-                if (logFile != null) {
-                    appLogArgs.setLogPath(logConfig.getLogPath() + "/" + logFile);
-                } else {
-                    appLogArgs.setLogPath(logConfig.getLogPath());
-                }
-
-                MqMessage mqMessage = new MqMessage();
-                mqMessage.setMachineId(deployConfig.getMachineId());
-                mqMessage.setSendTime(System.currentTimeMillis());
-                mqMessage.setRpc(true);
-                mqMessage.setType(MessageType.appType.name());
-                mqMessage.setOps(AppOps.appLogOps.name());
-                mqMessage.setPayload(JsonConverter.objectToJson(appLogArgs));
-
-                mqMessages.add(mqMessage);
-                break;
-            }
-        }
-
-        RpcResult rpcResult = callService.call(mqMessages.get(0));
-        if (rpcResult.getStatusCode() == 0) {
-            String result = rpcResult.getResult();
-            JsonArrayDeserializer<String> deserializer = new JsonArrayDeserializer<>();
-            return deserializer.fromJsonArray(result, String.class);
-        }
-*/
         return new ArrayList<>();
     }
 

+ 7 - 5
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildDeployDispatcher.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dmaster.app.service;
 
-import cn.reghao.autodop.common.result.ResultCode;
+import cn.reghao.autodop.common.result.ResultStatus;
 import cn.reghao.autodop.dmaster.app.cache.BuildDeployCache;
 import cn.reghao.autodop.dmaster.app.entity.AppBuilding;
 import cn.reghao.autodop.dmaster.app.entity.config.NotifyReceiver;
@@ -90,7 +90,8 @@ public class BuildDeployDispatcher {
 
         BuildSupplier supplier = new BuildSupplier(appIntegrate);
         final List<NotifyReceiver> notifyReceivers = appIntegrate.app().getNotifyReceivers();
-        log.info("开始异步构建 {}...", appId);
+        //log.info("开始异步构建 {}...", appId);
+        log.info("线程 {} 开始异步构建 {}...", Thread.currentThread().getName(), appId);
         CompletableFuture.supplyAsync(supplier, threadPool)
                 .whenComplete((buildLog, throwable) -> {
                     buildLog = buildLogRepository.save(buildLog);
@@ -104,15 +105,16 @@ public class BuildDeployDispatcher {
                         appBuilding.setUpdateTime(LocalDateTime.now());
                         appBuildingRepository.save(appBuilding);
                     }
-                    log.info("{} 构建完成...", appId);
+                    //log.info("{} 构建完成...", appId);
+                    log.info("线程 {} 构建 {} 完成...", Thread.currentThread().getName(), appId);
                 })
                 .thenAccept(buildLog -> {
                     // TODO 抛出异常时不会有任何错误
                     BuildDeployNotifyMsg msg = BuildDeployNotifyMsg.buildNotifyMsg(buildLog);
                     notifyReceivers.forEach(notifyReceiver -> notifyService.notify(notifyReceiver, msg));
 
-                    if (buildLog.getBuildResult().getCode() == ResultCode.SUCCESS.getCode() && isDeploy) {
-                        log.info("开始部署 {}...", appId);
+                    if (buildLog.getResult().getCode() == ResultStatus.SUCCESS.getCode() && isDeploy) {
+                        log.info("线程 {} 开始部署 {}...", Thread.currentThread().getName(), appId);
                         try {
                             appDeployer.deploy(buildLog);
                         } catch (MqttException e) {

+ 4 - 40
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildService.java

@@ -1,25 +1,18 @@
 package cn.reghao.autodop.dmaster.app.service;
 
 import cn.reghao.autodop.dmaster.app.cache.BuildDeployCache;
-import cn.reghao.autodop.dmaster.app.entity.status.BuildDeployApp;
 import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
 import cn.reghao.autodop.dmaster.app.entity.log.DeployLog;
 import cn.reghao.autodop.dmaster.app.repository.config.AppOrchestrationRepository;
 import cn.reghao.autodop.dmaster.app.repository.log.BuildLogRepository;
-import cn.reghao.autodop.dmaster.app.repository.log.CommitLogRepository;
 import cn.reghao.autodop.dmaster.app.repository.log.DeployLogRepository;
-import cn.reghao.autodop.dmaster.app.entity.log.CommitLog;
 import cn.reghao.autodop.dmaster.app.repository.status.BuildDeployAppRepository;
 import cn.reghao.autodop.dmaster.common.db.PageList;
-import cn.reghao.autodop.dmaster.app.vo.CurrentRunningCommit;
-import cn.reghao.autodop.dmaster.app.vo.SuccessfullyBuildVO;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 
-import java.util.stream.Collectors;
-
 /**
  * @author reghao
  * @date 2020-02-28 17:10:37
@@ -29,7 +22,6 @@ public class BuildService {
     private AppOrchestrationRepository appOrchestrationRepository;
     private BuildDeployCache cache;
     private BuildDeployAppCrudService buildDeployAppCrudService;
-    private CommitLogRepository commitLogRepository;
     private BuildLogRepository buildLogRepository;
     private DeployLogRepository deployLogRepository;
     private BuildDeployAppRepository buildDeployAppRepository;
@@ -37,44 +29,16 @@ public class BuildService {
     public BuildService(AppOrchestrationRepository appOrchestrationRepository,
                         BuildDeployCache cache,
                         BuildDeployAppCrudService buildDeployAppCrudService,
-                        CommitLogRepository commitLogRepository,
                         BuildLogRepository buildLogRepository,
                         DeployLogRepository deployLogRepository,
                         BuildDeployAppRepository buildDeployAppRepository) {
         this.cache = cache;
         this.buildDeployAppCrudService = buildDeployAppCrudService;
-        this.commitLogRepository = commitLogRepository;
         this.buildLogRepository = buildLogRepository;
         this.deployLogRepository = deployLogRepository;
         this.buildDeployAppRepository = buildDeployAppRepository;
     }
 
-    public PageList<CommitLog> commitLogs(int page, int size, String env) {
-        PageRequest pageRequest =
-                PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "createTime"));
-
-        Page<CommitLog> commitLogs = commitLogRepository.findAll(pageRequest);
-        PageList<CommitLog> pageList = new PageList<>();
-        pageList.setTotalPages(commitLogs.getTotalPages());
-        pageList.setTotalSize(commitLogs.getTotalElements());
-        pageList.setHasNext(commitLogs.hasNext());
-        pageList.setList(commitLogs.stream().map(CommitLog::vo).collect(Collectors.toList()));
-        return pageList;
-    }
-
-    public PageList<CommitLog> commitLogsByApp(int page, int size, String appId) {
-        PageRequest pageRequest =
-                PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "createTime"));
-
-        Page<CommitLog> commitLogs = commitLogRepository.findByEnvAndAppId("test", appId, pageRequest);
-        PageList<CommitLog> pageList = new PageList<>();
-        pageList.setTotalPages(commitLogs.getTotalPages());
-        pageList.setTotalSize(commitLogs.getTotalElements());
-        pageList.setHasNext(commitLogs.hasNext());
-        pageList.setList(commitLogs.stream().map(CommitLog::vo).collect(Collectors.toList()));
-        return pageList;
-    }
-
     public PageList<BuildLog> buildLogs(int page, int size, String env) {
         PageRequest pageRequest =
                 PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "createTime"));
@@ -84,7 +48,7 @@ public class BuildService {
         pageList.setTotalPages(buildLogs.getTotalPages());
         pageList.setTotalSize(buildLogs.getTotalElements());
         pageList.setHasNext(buildLogs.hasNext());
-        //pageList.setList(buildLogs.stream().map(BuildLog::vo).collect(Collectors.toList()));
+        pageList.setList(buildLogs.getContent());
         return pageList;
     }
 
@@ -97,7 +61,7 @@ public class BuildService {
         pageList.setTotalPages(buildLogs.getTotalPages());
         pageList.setTotalSize(buildLogs.getTotalElements());
         pageList.setHasNext(buildLogs.hasNext());
-        //pageList.setList(buildLogs.stream().map(BuildLog::vo).collect(Collectors.toList()));
+        pageList.setList(buildLogs.getContent());
         return pageList;
     }
 
@@ -110,7 +74,7 @@ public class BuildService {
         pageList.setTotalPages(deployLogs.getTotalPages());
         pageList.setTotalSize(deployLogs.getTotalElements());
         pageList.setHasNext(deployLogs.hasNext());
-        pageList.setList(deployLogs.stream().map(DeployLog::vo).collect(Collectors.toList()));
+        pageList.setList(deployLogs.getContent());
         return pageList;
     }
 
@@ -123,7 +87,7 @@ public class BuildService {
         pageList.setTotalPages(deployLogs.getTotalPages());
         pageList.setTotalSize(deployLogs.getTotalElements());
         pageList.setHasNext(deployLogs.hasNext());
-        pageList.setList(deployLogs.stream().map(DeployLog::vo).collect(Collectors.toList()));
+        pageList.setList(deployLogs.getContent());
         return pageList;
     }
 }

+ 5 - 5
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildSupplier.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dmaster.app.service;
 
-import cn.reghao.autodop.common.result.ResultCode;
+import cn.reghao.autodop.common.result.ResultStatus;
 import cn.reghao.autodop.common.utils.ExceptionUtil;
 import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
 import cn.reghao.autodop.dmaster.app.service.bd.AppIntegrate;
@@ -44,15 +44,15 @@ public class BuildSupplier implements Supplier<BuildLog> {
             return buildLog;
         }
 
-        buildLog.getBuildResult().setCode(ResultCode.SUCCESS.getCode());
-        buildLog.getBuildResult().setMsg(ResultCode.SUCCESS.getMsg());
+        buildLog.getResult().setCode(ResultStatus.SUCCESS.getCode());
+        buildLog.getResult().setMsg(ResultStatus.SUCCESS.getMsg());
         buildLog.getBuildTime().setBuildTime(LocalDateTime.now());
         return buildLog;
     }
 
     private void buildException(BuildLog buildLog, Exception e) {
-        buildLog.getBuildResult().setCode(ResultCode.FAIL.getCode());
-        buildLog.getBuildResult().setMsg(ExceptionUtil.errorMsg(e));
+        buildLog.getResult().setCode(ResultStatus.FAIL.getCode());
+        buildLog.getResult().setMsg(ExceptionUtil.errorMsg(e));
         buildLog.getBuildTime().setBuildTime(LocalDateTime.now());
     }
 }

+ 0 - 10
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/SetOps.java

@@ -1,10 +0,0 @@
-package cn.reghao.autodop.dmaster.app.service;
-
-/**
- * Set 的交集,并集,差集
- * @author reghao
- * @date 2021-03-04 14:06:01
- */
-public class SetOps {
-
-}

+ 1 - 6
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/AppDeployer.java

@@ -11,7 +11,6 @@ import cn.reghao.autodop.dmaster.app.cache.BuildDeployCache;
 import cn.reghao.autodop.dmaster.app.entity.config.deploy.DeployConfig;
 import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
 import cn.reghao.autodop.dmaster.app.entity.log.DeployLog;
-import cn.reghao.autodop.dmaster.app.service.log.BuildDeployLogConsumer;
 import cn.reghao.autodop.dmaster.machine.entity.MachineInfo;
 import cn.reghao.autodop.dmaster.machine.entity.NetworkInfo;
 import cn.reghao.autodop.dmaster.machine.repository.MachineInfoRepository;
@@ -19,7 +18,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.eclipse.paho.client.mqttv3.MqttException;
 import org.springframework.stereotype.Service;
 
-import java.time.LocalDateTime;
 import java.util.*;
 
 /**
@@ -33,24 +31,21 @@ import java.util.*;
 public class AppDeployer {
     private MqttPub mqttPub;
     private BuildDeployCache cache;
-    private BuildDeployLogConsumer logConsumer;
     private MachineInfoRepository machineInfoRepository;
 
     public AppDeployer(MqttPub mqttPub,
                        BuildDeployCache cache,
-                       BuildDeployLogConsumer logConsumer,
                        MachineInfoRepository machineInfoRepository) {
         this.mqttPub = mqttPub;
         this.cache = cache;
-        this.logConsumer = logConsumer;
         this.machineInfoRepository = machineInfoRepository;
     }
 
     public void deploy(BuildLog buildLog) throws MqttException {
         List<DeployConfig> deployConfigs = cache.findByAppId(buildLog.getAppId()).getDeployConfigs();
-        List<AsyncMsg> asyncMsgs = new ArrayList<>();
         for (DeployConfig deployConfig : deployConfigs) {
             AppDeployArgs appDeployArgs = new AppDeployArgs();
+            appDeployArgs.setBuildLogId(buildLog.getId());
             appDeployArgs.setAppId(buildLog.getAppId());
             appDeployArgs.setPackagePath(buildLog.getPackagePath());
             appDeployArgs.setPackerType(deployConfig.getPackerType());

+ 11 - 13
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/BuildDeployNotifyMsg.java

@@ -6,7 +6,6 @@ import cn.reghao.autodop.dmaster.app.entity.log.DeployLog;
 import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CommitInfo;
 import lombok.Data;
 
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -27,32 +26,32 @@ public class BuildDeployNotifyMsg {
 
     public static BuildDeployNotifyMsg buildNotifyMsg(BuildLog buildLog) {
         BuildDeployNotifyMsg buildDeployNotifyMsg = new BuildDeployNotifyMsg();
-        buildDeployNotifyMsg.title = "应用更新消息";
+        buildDeployNotifyMsg.title = "应用构建消息";
         StringBuilder sb = new StringBuilder();
         sb.append("应用构建").append(System.lineSeparator());
         sb.append("# 应用: ").append(buildLog.getAppId()).append(System.lineSeparator());
         sb.append("# 环境: ").append(buildLog.getEnv()).append(System.lineSeparator());
 
         CommitInfo commitInfo = buildLog.getCommitInfo();
+        sb.append("# 分支: ").append(commitInfo != null ? commitInfo.getBranch() : null)
+                .append(System.lineSeparator());
         sb.append("# 版本: ").append(commitInfo != null ? commitInfo.getCommitId() : null)
                 .append(System.lineSeparator());
         sb.append("# 提交时间: ")
                 .append(commitInfo != null ? DateTimeConverter.format(commitInfo.getMsCommitTime()) : null)
                 .append(System.lineSeparator());
+        sb.append("# 构建结果: ").append(buildLog.getResult().getMsg()).append(System.lineSeparator());
         sb.append("# 构建时间: ").append(DateTimeConverter.format(buildLog.getBuildTime().getBuildTime()))
                 .append(System.lineSeparator());
-        sb.append("# 构建结果: ").append(buildLog.getBuildResult().getMsg());
+        sb.append("# 执行用户: ").append("某人");
 
         buildDeployNotifyMsg.text = sb.toString();
         return buildDeployNotifyMsg;
     }
 
-    public static BuildDeployNotifyMsg deployNotifyMsg(List<DeployLog> deployLogs) {
-        DeployLog deployLog = deployLogs.get(0);
-        BuildLog buildLog = deployLog.getBuildLog();
-
+    public static BuildDeployNotifyMsg deployNotifyMsg(BuildLog buildLog, DeployLog deployLog) {
         BuildDeployNotifyMsg buildDeployNotifyMsg = new BuildDeployNotifyMsg();
-        buildDeployNotifyMsg.title = "应用更新消息";
+        buildDeployNotifyMsg.title = "应用部署消息";
         StringBuilder sb = new StringBuilder();
         sb.append("应用部署").append(System.lineSeparator());
         sb.append("# 应用: ").append(buildLog.getAppId()).append(System.lineSeparator());
@@ -60,13 +59,12 @@ public class BuildDeployNotifyMsg {
         sb.append("# 版本: ").append(buildLog.getCommitInfo().getCommitId()).append(System.lineSeparator());
         sb.append("# 提交时间: ").append(DateTimeConverter.format(buildLog.getCommitInfo().getMsCommitTime()))
                 .append(System.lineSeparator());
+        sb.append("# 部署结果: ").append(deployLog.getMachineIpv4()).append(" -> ").append(deployLog.getResult().getMsg())
+                .append(System.lineSeparator());
         sb.append("# 部署时间: ").append(DateTimeConverter.format(deployLog.getDeployTime()))
                 .append(System.lineSeparator());
-        sb.append("# 部署结果: ").append(System.lineSeparator());
-        for (int i = 0; i < deployLogs.size(); i++) {
-            sb.append(i+1).append(".").append(deployLogs.get(i).getMachineIpv4()).append(" -> ")
-                    .append(deployLogs.get(i).getResult()).append(System.lineSeparator());
-        }
+        sb.append("# 执行用户: ").append("某人");
+
         buildDeployNotifyMsg.text = sb.toString();
         return buildDeployNotifyMsg;
     }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/ChangedFile.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/repo/ChangedFile.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.entity.log;
+package cn.reghao.autodop.dmaster.app.service.bd.tools.repo;
 
 import lombok.Data;
 

+ 0 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/repo/CommitInfo.java

@@ -1,6 +1,5 @@
 package cn.reghao.autodop.dmaster.app.service.bd.tools.repo;
 
-import cn.reghao.autodop.dmaster.app.entity.log.ChangedFile;
 import lombok.Data;
 
 import java.util.List;

+ 0 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/repo/GitImpl.java

@@ -3,7 +3,6 @@ package cn.reghao.autodop.dmaster.app.service.bd.tools.repo;
 import cn.reghao.autodop.common.utils.text.TextFile;
 import cn.reghao.autodop.dmaster.app.constant.build.RepoAuthType;
 import cn.reghao.autodop.dmaster.app.entity.config.build.RepoAuthConfig;
-import cn.reghao.autodop.dmaster.app.entity.log.ChangedFile;
 import com.jcraft.jsch.JSch;
 import com.jcraft.jsch.JSchException;
 import com.jcraft.jsch.Session;

+ 0 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/repo/SvnImpl.java

@@ -1,7 +1,6 @@
 package cn.reghao.autodop.dmaster.app.service.bd.tools.repo;
 
 import cn.reghao.autodop.dmaster.app.entity.config.build.RepoAuthConfig;
-import cn.reghao.autodop.dmaster.app.entity.log.ChangedFile;
 import org.tmatesoft.svn.core.*;
 import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
 import org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryFactoryImpl;

+ 0 - 81
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/log/BuildDeployLogConsumer.java

@@ -1,81 +0,0 @@
-package cn.reghao.autodop.dmaster.app.service.log;
-
-import cn.reghao.autodop.common.dagent.app.api.data.AppStatus;
-import cn.reghao.autodop.dmaster.app.entity.log.*;
-import cn.reghao.autodop.dmaster.app.entity.status.BuildDeployApp;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-
-/**
- * 日志持久化线程,存储日志到 MongoDB
- *
- * @author reghao
- * @date 2020-05-15 21:29:32
- */
-@Slf4j
-@Service
-public class BuildDeployLogConsumer implements Runnable {
-    private static BlockingQueue<Object> logQueue = new LinkedBlockingQueue<>();
-    private BuildDeployLogService logService;
-
-    public BuildDeployLogConsumer(BuildDeployLogService logService) {
-        this.logService = logService;
-    }
-
-    public void addBuildLog(BuildLog buildLog) {
-        logQueue.add(buildLog);
-    }
-
-    public void addDeployLog(DeployLog deployLog) {
-        logQueue.add(deployLog);
-    }
-
-    public void addBuildDeployApp(BuildDeployApp buildDeployApp) {
-        logQueue.add(buildDeployApp);
-    }
-
-    public void addAppStatus(AppStatus appStatus) {
-        logQueue.add(appStatus);
-    }
-
-    @Override
-    public void run() {
-        log.info("日志持久化线程已启动...");
-        while (!Thread.interrupted()) {
-            try {
-                Object object = logQueue.take();
-                if (object instanceof CommitLog) {
-                    CommitLog commitLog = (CommitLog) object;
-                    logService.saveCommitLog(commitLog);
-                    log.info("持久化 {} 代码提交日志完成...", commitLog.getAppId());
-                } else if (object instanceof BuildLog) {
-                    BuildLog buildLog = (BuildLog) object;
-                    logService.saveBuildLog(buildLog);
-                    log.info("持久化 {} 构建日志完成...", buildLog.getAppId());
-                } else if (object instanceof DeployLog) {
-                    DeployLog deployLog = (DeployLog) object;
-                    logService.saveDeployLog(deployLog);
-                    log.info("持久化 {} 部署日志完成...", deployLog.getBuildLog().getAppId());
-                } else if (object instanceof BuildDeployApp) {
-                    BuildDeployApp buildDeployApp = (BuildDeployApp) object;
-                    logService.saveBuildDeployApp(buildDeployApp);
-                    log.info("持久化 {} 构建部署日志完成...", buildDeployApp.getAppId());
-                } else if (object instanceof AppStatus) {
-                    AppStatus appStatus = (AppStatus) object;
-                    logService.saveAppStatus(appStatus);
-                    log.info("持久化 {} 应用运行状态完成...", appStatus.getAppId());
-                }
-            } catch (InterruptedException e) {
-                // 中断线程
-                log.info("中断日志持久化线程...");
-                Thread.currentThread().interrupt();
-            } catch (Exception e) {
-                log.info("持久化异常...");
-                e.printStackTrace();
-            }
-        }
-    }
-}

+ 0 - 66
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/log/BuildDeployLogService.java

@@ -1,66 +0,0 @@
-package cn.reghao.autodop.dmaster.app.service.log;
-
-import cn.reghao.autodop.common.dagent.app.api.data.AppStatus;
-import cn.reghao.autodop.dmaster.app.entity.log.*;
-import cn.reghao.autodop.dmaster.app.entity.status.BuildDeployApp;
-import cn.reghao.autodop.dmaster.app.service.BuildDeployAppCrudService;
-//import cn.reghao.autodop.dmaster.app.db.log.AppStatusCrudService;
-import cn.reghao.autodop.dmaster.app.db.log.BuildLogCrudService;
-import cn.reghao.autodop.dmaster.app.db.log.CommitLogCrudService;
-import cn.reghao.autodop.dmaster.app.db.log.DeployLogCrudService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * 持久化构建、部署日志
- *
- * @author reghao
- * @date 2020-05-26 17:35:26
- */
-@Slf4j
-@Service
-public class BuildDeployLogService {
-    private CommitLogCrudService commitLogCrudService;
-    private BuildLogCrudService buildLogCrudService;
-    private DeployLogCrudService deployLogCrudService;
-    private BuildDeployAppCrudService buildDeployAppCrudService;
-    //private AppStatusCrudService statusCrudService;
-    
-    public BuildDeployLogService(CommitLogCrudService commitLogCrudService,
-                                 BuildLogCrudService buildLogCrudService,
-                                 DeployLogCrudService deployLogCrudService,
-                                 BuildDeployAppCrudService buildDeployAppCrudService
-                                 /*AppStatusCrudService statusCrudService*/) {
-        this.commitLogCrudService = commitLogCrudService;
-        this.buildLogCrudService = buildLogCrudService;
-        this.deployLogCrudService = deployLogCrudService;
-        this.buildDeployAppCrudService = buildDeployAppCrudService;
-        //this.statusCrudService = statusCrudService;
-    }
-
-    @Transactional(rollbackFor = {Exception.class})
-    public void saveCommitLog(CommitLog commitLog) {
-        commitLogCrudService.insert(commitLog);
-    }
-
-    @Transactional(rollbackFor = {Exception.class})
-    public void saveBuildLog(BuildLog buildLog) throws Exception {
-        buildLogCrudService.insert(buildLog);
-    }
-
-    @Transactional(rollbackFor = {Exception.class})
-    public void saveDeployLog(DeployLog deployLog) throws Exception {
-        deployLogCrudService.insert(deployLog);
-    }
-
-    @Transactional(rollbackFor = {Exception.class})
-    public void saveBuildDeployApp(BuildDeployApp buildDeployApp) throws Exception {
-        buildDeployAppCrudService.insert(buildDeployApp);
-    }
-
-    @Transactional(rollbackFor = {Exception.class})
-    public void saveAppStatus(AppStatus appStatus) throws Exception {
-        //statusCrudService.insert(deployedAppStatus);
-    }
-}

+ 0 - 8
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/entity/MachineInfo.java

@@ -32,12 +32,4 @@ public class MachineInfo extends BaseEntity<Integer> {
     @LazyCollection(LazyCollectionOption.FALSE)
     private List<NetworkInfo> networkInfo;
     private OSInfo osInfo;
-
-    public MachineInfo vo() {
-        this.setId(null);
-        this.setIsDelete(null);
-        this.setCreateTime(null);
-        this.setUpdateTime(null);
-        return this;
-    }
 }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/FileController.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/FileController.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.controller;
+package cn.reghao.autodop.dmaster.sys;
 
 import cn.reghao.autodop.dmaster.common.config.SysConfig;
 import cn.reghao.autodop.dmaster.utils.SpringBootUtil;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/WebBody.java

@@ -12,7 +12,7 @@ import lombok.NoArgsConstructor;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 
-import static cn.reghao.autodop.common.result.ResultCode.*;
+import static cn.reghao.autodop.common.result.ResultStatus.*;
 
 /**
  * HTTP 响应 body 数据

+ 9 - 6
dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/dispatcher/AppOpsDispatcher.java

@@ -1,9 +1,10 @@
 package cn.reghao.autodop.dmaster.utils.dispatcher;
 
 import cn.reghao.autodop.common.dagent.app.api.data.AppStatus;
+import cn.reghao.autodop.common.dagent.app.api.data.DeployResult;
 import cn.reghao.autodop.common.message.AppOps;
 import cn.reghao.autodop.common.message.CallResult;
-import cn.reghao.autodop.common.result.ResultCode;
+import cn.reghao.autodop.common.result.ResultStatus;
 import cn.reghao.autodop.common.utils.serializer.JsonConverter;
 import com.google.gson.reflect.TypeToken;
 import lombok.extern.slf4j.Slf4j;
@@ -23,12 +24,14 @@ public class AppOpsDispatcher {
     public void dispatch(String ops, String payload) {
         switch (AppOps.valueOf(ops)) {
             case appDeployResult:
-                Type type = new TypeToken<CallResult<AppStatus>>(){}.getType();
-                CallResult<AppStatus> callResult = JsonConverter.jsonToObject(payload, type);
-                if (callResult.getCode() == ResultCode.SUCCESS.getCode()) {
-                    AppStatus appStatus = callResult.getData();
+                DeployResult deployResult = JsonConverter.jsonToObject(payload, DeployResult.class);
+                if (deployResult.getResult().getCode() == ResultStatus.SUCCESS.getCode()) {
+                    AppStatus appStatus = deployResult.getAppStatus();
+                    log.info("应用 {} 部署成功...", appStatus.getAppId());
+                    //BuildDeployNotifyMsg msg = BuildDeployNotifyMsg.deployNotifyMsg(null);
+                } else {
+                    log.info("应用部署失败...");
                 }
-                log.info("部署应用...");
                 break;
             case appStatusResult:
                 break;

+ 4 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/dispatcher/MachineOpsDispatcher.java

@@ -6,6 +6,7 @@ import cn.reghao.autodop.common.utils.serializer.JsonConverter;
 import cn.reghao.autodop.dmaster.machine.entity.MachineHeartbeat;
 import cn.reghao.autodop.dmaster.machine.entity.MachineLog;
 import cn.reghao.autodop.dmaster.machine.entity.MachineInfo;
+import cn.reghao.autodop.dmaster.machine.repository.MachineInfoRepository;
 import cn.reghao.autodop.dmaster.machine.service.crud.MachineCrudService;
 import cn.reghao.autodop.dmaster.machine.service.crud.MachineLogCrudService;
 import lombok.extern.slf4j.Slf4j;
@@ -23,6 +24,7 @@ import java.util.concurrent.ConcurrentHashMap;
 @Slf4j
 @Component
 public class MachineOpsDispatcher {
+    private MachineInfoRepository machineRepository;
     private MachineCrudService machineCrudService;
     private MachineLogCrudService machineLogCrudService;
     private Map<String, String> machineStatus;
@@ -39,14 +41,14 @@ public class MachineOpsDispatcher {
                 case machineRegistry:
                     log.info("机器注册消息...");
                     MachineInfo machineInfo = JsonConverter.jsonToObject(payload, MachineInfo.class);
-                    //machineCrudService.insert(machineInfo);
+                    machineCrudService.insert(machineInfo);
                     break;
                 case machineHeartbeat:
                     log.info("机器心跳消息...");
                     // TODO 做一些逻辑处理,判断内存和磁盘的使用量,然后存入数据库,更新数据
                     // TODO 存到 MongoDB
                     MachineHeartbeat machineHeartbeat = JsonConverter.jsonToObject(payload, MachineHeartbeat.class);
-                    //setMachineStatus(machineHeartbeat);
+                    setMachineStatus(machineHeartbeat);
                     break;
                 case machineLog:
                     MachineLog machineLog = JsonConverter.jsonToObject(payload, MachineLog.class);

+ 8 - 6
dmaster/src/main/resources/application-dev.yml

@@ -6,9 +6,11 @@ spring:
   data:
     mongodb:
       uri: mongodb://localhost/reghao_devops_rdb
-  rabbitmq:
-    host: localhost
-    port: 5672
-    virtual-host: /
-    username: dev
-    password: Dev@12345678
+mosquitto:
+  broker: tcp://localhost:1883
+  username: dev
+  password: Dev@123456
+#mosquitto:
+#  broker: tcp://192.168.0.220:1883
+#  username: test
+#  password: Test@123456

+ 4 - 6
dmaster/src/main/resources/application-prod.yml

@@ -6,9 +6,7 @@ spring:
   data:
     mongodb:
       uri: mongodb://192.168.0.220/log
-  rabbitmq:
-    host: mq.srv.iquizoo.com
-    port: 5672
-    username: iquizoo-mq1
-    password: z2pT1PXR
-    virtual-host: /
+mosquitto:
+  broker: tcp://localhost:1883
+  username: dev
+  password: Dev@123456

+ 4 - 6
dmaster/src/main/resources/application-test.yml

@@ -6,9 +6,7 @@ spring:
   data:
     mongodb:
       uri: mongodb://192.168.0.220/devops_tdb
-  rabbitmq:
-    host: 192.168.0.70
-    port: 5672
-    username: azy
-    password: 12345678
-    virtual-host: /
+mosquitto:
+  broker: tcp://192.168.0.220:1883
+  username: test
+  password: Test@123456

+ 3 - 8
dmaster/src/main/resources/templates/app/build.html

@@ -44,7 +44,7 @@
                     <th class="sortable" data-field="branch">分支</th>
                     <th class="sortable" data-field="commitId">版本</th>
                     <th class="sortable" data-field="commitTime">提交时间</th>
-                    <th class="sortable" data-field="buildResult">构建结果</th>
+                    <th class="sortable" data-field="result">构建结果</th>
                     <th class="sortable" data-field="buildTime">构建时间</th>
                     <th class="sortable" data-field="buildBy">构建用户</th>
                     <th>操作</th>
@@ -61,21 +61,16 @@
                     <td th:text="${item.branch}">分支</td>
                     <td th:text="${item.commitId}">版本</td>
                     <td th:text="${item.commitTime}">提交时间</td>
-                    <!--<td th:text="${item.buildResult}">构建结果</td>-->
                     <td>
-                        <a class="open-popup" data-title="构建结果" data-size="1200,600" href="#"
+                        <a class="open-popup" data-title="构建结果" data-size="800,600" href="#"
                            th:text="${item.buildResult}" th:attr="data-url=@{'/app/log/build/'+${item.buildLogId} + '/result'}"></a>
                     </td>
                     <td th:text="${item.buildTime}">构建时间</td>
                     <td th:text="${item.buildBy}">构建用户</td>
                     <td>
                         <a class="ajax-post" th:href="@{'/api/app/bd/update?appId='+${item.appId}}">更新</a>
-                        <!--<a class="open-popup" data-title="更新" th:attr="data-url=@{'/system/user/edit/'+${item.appId}}"
-                           data-size="600,570" href="#">更新</a>-->
                         <a class="ajax-post" th:href="@{'/api/app/bd/build?appId='+${item.appId}}">构建</a>
-                        <!--<a class="open-popup" data-title="构建" th:attr="data-url=@{'/system/user/detail/'+${item.appId}}"
-                           data-size="800,600" href="#">构建</a>-->
-                        <a class="open-popup" data-title="应用部署详情" th:attr="data-url=@{'/app/deploy/' + ${item.appId}}"
+                        <a class="open-popup" data-title="应用部署" th:attr="data-url=@{'/app/deploy/' + ${item.appId}}"
                            data-size="800,600" href="#">部署</a>
                     </td>
                 </tr>

+ 2 - 2
dmaster/src/main/resources/templates/app/deploy.html

@@ -16,7 +16,7 @@
                     <th class="sortable" data-field="branch">分支</th>
                     <th class="sortable" data-field="commitId">版本</th>
                     <th class="sortable" data-field="commitTime">提交时间</th>
-                    <th class="sortable" data-field="buildResult">构建结果</th>
+                    <th class="sortable" data-field="result">构建结果</th>
                     <th class="sortable" data-field="buildTime">构建时间</th>
                     <th class="sortable" data-field="buildBy">构建用户</th>
                     <th>操作</th>
@@ -33,7 +33,7 @@
                     <td th:text="${item.branch}">分支</td>
                     <td th:text="${item.commitId}">版本</td>
                     <td th:text="${item.commitTime}">提交时间</td>
-                    <td th:text="${item.buildResult}">构建结果</td>
+                    <td th:text="${item.result}">构建结果</td>
                     <td th:text="${item.buildTime}">构建时间</td>
                     <td th:text="${item.buildBy}">构建用户</td>
                     <td>

+ 4 - 3
dmaster/src/main/resources/templates/app/log.html

@@ -6,9 +6,10 @@
 </head>
 <body class="timo-layout-page">
 <div class="layui-card">
-    <div class="layui-card-header timo-card-header">
-        <span><i class="fa fa-bars"></i> 构建部署日志</span>
-        <i class="layui-icon layui-icon-refresh refresh-btn"></i>
+    <div class="layui-bg-gray" style="padding: 30px;">
+        <div class="layui-card-body">
+            <p th:text="${msg}"></p>
+        </div>
     </div>
 </div>
 <script th:replace="/common/template :: script"></script>