reghao 5 лет назад
Родитель
Сommit
8d580c6fa4
55 измененных файлов с 368 добавлено и 642 удалено
  1. 0 15
      common/src/main/java/cn/reghao/autodop/common/amqp/MqMessage.java
  2. 2 0
      common/src/main/java/cn/reghao/autodop/common/orm/BaseEntity.java
  3. 1 1
      dagent/src/main/java/cn/reghao/autodop/dagent/DagentApplication.java
  4. 1 12
      dagent/src/main/java/cn/reghao/autodop/dagent/machine/MachineStatusScheduler.java
  5. 1 1
      dagent/src/main/java/cn/reghao/autodop/dagent/machine/SysStatBeanConfig.java
  6. 1 1
      dagent/src/main/java/cn/reghao/autodop/dagent/machine/agent/AgentInfo.java
  7. 1 1
      dagent/src/main/java/cn/reghao/autodop/dagent/machine/agent/AgentStatus.java
  8. 0 36
      dagent/src/main/java/cn/reghao/autodop/dagent/node/agent/AgentNotifier.java
  9. 0 77
      dagent/src/main/java/cn/reghao/autodop/dagent/node/agent/DagentNotifier.java
  10. 0 12
      dagent/src/main/java/cn/reghao/autodop/dagent/utils/AfterAppStart.java
  11. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/BuildController.java
  12. 2 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/ConfigController.java
  13. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/ManageController.java
  14. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/OrchestrateController.java
  15. 34 34
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/crud/BuildConfigCrudController.java
  16. 3 13
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/LocalDir.java
  17. 0 34
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/AppCompile.java
  18. 0 33
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/AppPack.java
  19. 0 37
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/AppUpdate.java
  20. 7 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/BuildConfig.java
  21. 7 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/tools/CompilerConfig.java
  22. 7 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/tools/PackerConfig.java
  23. 7 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/tools/RepoConfig.java
  24. 8 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/deploy/DeployConfig.java
  25. 3 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/deploy/LogConfig.java
  26. 4 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/deploy/RunningConfig.java
  27. 0 4
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/DeployLog.java
  28. 27 13
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/orchestration/AppOrchestration.java
  29. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/orchestration/AppType.java
  30. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/orchestration/EnvType.java
  31. 1 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/orchestration/ProjOrchestration.java
  32. 4 4
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/build/CompilerConfigRepository.java
  33. 4 4
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/build/PackerConfigRepository.java
  34. 4 4
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/build/RepoConfigRepository.java
  35. 2 2
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/log/BuildLogRepository.java
  36. 2 2
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/log/CommitLogRepository.java
  37. 4 4
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/log/DeployLogRepository.java
  38. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/orchestration/LocalDirRepository.java
  39. 16 16
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildService.java
  40. 52 54
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/ConfigService.java
  41. 20 20
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/OrchestrateService.java
  42. 2 2
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/build/AppIntegrate.java
  43. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/build/BuilderUtil.java
  44. 0 7
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/build/tools/compiler/ShellCompiler.java
  45. 2 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/build/tools/updater/ChangedFile.java
  46. 19 19
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/SharedEntityChecker.java
  47. 0 68
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/build/AppPackCrudService.java
  48. 16 22
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/build/CompilerConfigCrudService.java
  49. 61 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/build/PackerConfigCrudService.java
  50. 15 19
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/build/RepoConfigCrudService.java
  51. 5 5
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/global/LocalDirCrudService.java
  52. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/orchestarte/AppCrudService.java
  53. 3 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/deploy/AppDeployer.java
  54. 5 5
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/vo/orchestration/AppVO.java
  55. 7 48
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/AfterAppStart.java

+ 0 - 15
common/src/main/java/cn/reghao/autodop/common/amqp/MqMessage.java

@@ -1,15 +0,0 @@
-package cn.reghao.autodop.common.amqp;
-
-import lombok.Data;
-
-/**
- * @author reghao
- * @date 2020-09-04 20:17:45
- */
-@Deprecated
-@Data
-public class MqMessage<T> {
-    private String msgType;
-    private long sendTime;
-    private T msg;
-}

+ 2 - 0
common/src/main/java/cn/reghao/autodop/common/orm/BaseEntity.java

@@ -32,4 +32,6 @@ public class BaseEntity implements Serializable {
     protected LocalDateTime createTime;
     @CreationTimestamp
     protected LocalDateTime updateTime;
+
+    //public abstract T vo();
 }

+ 1 - 1
dagent/src/main/java/cn/reghao/autodop/dagent/DagentApplication.java

@@ -5,7 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
-@EnableScheduling
+//@EnableScheduling
 @ComponentScan({"cn.reghao.autodop.dagent", "cn.reghao.autodop.common.amqp"})
 @SpringBootApplication
 public class DagentApplication {

+ 1 - 12
dagent/src/main/java/cn/reghao/autodop/dagent/service/MachineStatusScheduler.java → dagent/src/main/java/cn/reghao/autodop/dagent/machine/MachineStatusScheduler.java

@@ -1,7 +1,6 @@
-package cn.reghao.autodop.dagent.service;
+package cn.reghao.autodop.dagent.machine;
 
 import cn.reghao.autodop.common.dagent.machine.system.os.SysStat;
-import cn.reghao.autodop.common.amqp.MqMessage;
 import cn.reghao.autodop.common.amqp.MsgType;
 import cn.reghao.autodop.common.amqp.MessageSender;
 import lombok.extern.slf4j.Slf4j;
@@ -37,14 +36,4 @@ public class MachineStatusScheduler {
 
         sendToMq(sysStat);*/
     }
-
-    private void sendToMq(SysStat sysStat) {
-        String routeKey = "dmaster@192.168.0.222";
-        MqMessage mqMessage = new MqMessage();
-        mqMessage.setMsgType(MsgType.status.name());
-        mqMessage.setMsg(sysStat);
-        mqMessage.setSendTime(System.currentTimeMillis());
-        sender.send(routeKey, mqMessage);
-        log.info("发送主机状态信息到 {}", routeKey);
-    }
 }

+ 1 - 1
dagent/src/main/java/cn/reghao/autodop/dagent/node/SysStatBeanConfig.java → dagent/src/main/java/cn/reghao/autodop/dagent/machine/SysStatBeanConfig.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dagent.node;
+package cn.reghao.autodop.dagent.machine;
 
 import cn.reghao.autodop.common.dagent.machine.hardware.cpu.CPU;
 import cn.reghao.autodop.common.dagent.machine.hardware.disk.Disk;

+ 1 - 1
dagent/src/main/java/cn/reghao/autodop/dagent/node/agent/AgentInfo.java → dagent/src/main/java/cn/reghao/autodop/dagent/machine/agent/AgentInfo.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dagent.node.agent;
+package cn.reghao.autodop.dagent.machine.agent;
 
 import cn.reghao.autodop.common.jvm.pojo.JVMInfo;
 import cn.reghao.autodop.common.dagent.machine.MachineInfo;

+ 1 - 1
dagent/src/main/java/cn/reghao/autodop/dagent/node/agent/AgentStatus.java → dagent/src/main/java/cn/reghao/autodop/dagent/machine/agent/AgentStatus.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dagent.node.agent;
+package cn.reghao.autodop.dagent.machine.agent;
 
 /**
  * @author reghao

+ 0 - 36
dagent/src/main/java/cn/reghao/autodop/dagent/node/agent/AgentNotifier.java

@@ -1,36 +0,0 @@
-package cn.reghao.autodop.dagent.node.agent;
-
-/**
- * agent 状态通知
- *
- * @author reghao
- * @date 2020-10-19 13:59:47
- */
-public interface AgentNotifier {
-    /**
-     * 启动后发送
-     *
-     * @param
-     * @return
-     * @date 2020-10-19 下午2:01
-     */
-    void afterStart();
-
-    /**
-     * 结束前发送
-     *
-     * @param
-     * @return
-     * @date 2020-10-19 下午2:01
-     */
-    void beforeStop();
-
-    /**
-     * 心跳包
-     *
-     * @param
-     * @return
-     * @date 2020-10-19 下午2:01
-     */
-    void heartbeat();
-}

+ 0 - 77
dagent/src/main/java/cn/reghao/autodop/dagent/node/agent/DagentNotifier.java

@@ -1,77 +0,0 @@
-package cn.reghao.autodop.dagent.node.agent;
-
-import cn.reghao.autodop.common.amqp.MessageSender;
-import cn.reghao.autodop.common.amqp.MqMessage;
-import cn.reghao.autodop.common.amqp.MsgType;
-import cn.reghao.autodop.common.utils.HostAddress;
-import cn.reghao.autodop.common.utils.NetworkUtil;
-import cn.reghao.autodop.common.utils.text.TextFile;
-import cn.reghao.autodop.dagent.utils.config.DmasterProperties;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2020-10-19 14:03:03
- */
-@Component
-public class DagentNotifier implements AgentNotifier {
-    private final String machineId;
-    private final AgentInfo agentInfo;
-    private final String routeKey;
-    private MessageSender sender;
-
-    public DagentNotifier(DmasterProperties properties, MessageSender sender) throws Exception {
-        this.machineId = new TextFile().readFile("/etc/machine-id");
-        this.agentInfo = initAgentMsg(machineId);
-        this.routeKey = "dmaster@" + properties.getAddress();
-        this.sender = sender;
-    }
-
-    private AgentInfo initAgentMsg(String machineId) throws Exception {
-        AgentInfo agentInfo = new AgentInfo();
-        agentInfo.setAgentId(machineId);
-        List<HostAddress> list = NetworkUtil.hostAddr();
-        if (list.isEmpty()) {
-            throw new Exception("");
-        }
-
-        StringBuilder sb = new StringBuilder();
-        list.forEach(hostAddress -> {
-            sb.append(hostAddress.getIpv4()).append(",");
-        });
-        agentInfo.setAgentAddress(sb.substring(0, sb.lastIndexOf(",")));
-
-        return agentInfo;
-    }
-
-    @Override
-    public void afterStart() {
-        MqMessage<AgentInfo> mqMessage = new MqMessage<>();
-        mqMessage.setMsgType(MsgType.dagentStart.name());
-        mqMessage.setSendTime(System.currentTimeMillis());
-        mqMessage.setMsg(agentInfo);
-        sender.send(routeKey, mqMessage);
-    }
-
-    @Override
-    public void beforeStop() {
-        MqMessage<String> mqMessage = new MqMessage<>();
-        mqMessage.setMsgType(MsgType.dagentStop.name());
-        mqMessage.setSendTime(System.currentTimeMillis());
-        mqMessage.setMsg(machineId);
-        sender.send(routeKey, mqMessage);
-    }
-
-    @Scheduled(fixedRate = 60_000)
-    @Override
-    public void heartbeat() {
-        MqMessage<String> mqMessage = new MqMessage<>();
-        mqMessage.setMsgType(MsgType.dagentHeartbeat.name());
-        mqMessage.setSendTime(System.currentTimeMillis());
-        mqMessage.setMsg(machineId);
-        sender.send(routeKey, mqMessage);
-    }
-}

+ 0 - 12
dagent/src/main/java/cn/reghao/autodop/dagent/utils/AfterAppStart.java

@@ -1,6 +1,5 @@
 package cn.reghao.autodop.dagent.utils;
 
-import cn.reghao.autodop.dagent.node.agent.AgentNotifier;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
@@ -15,12 +14,6 @@ import org.springframework.stereotype.Component;
 @Slf4j
 @Component
 public class AfterAppStart implements ApplicationRunner {
-    private AgentNotifier agentNotifier;
-
-    public AfterAppStart(AgentNotifier agentNotifier) {
-        this.agentNotifier = agentNotifier;
-    }
-
     @Override
     public void run(ApplicationArguments args) throws Exception {
         activate();
@@ -32,11 +25,6 @@ public class AfterAppStart implements ApplicationRunner {
      * @date 2019-09-26 下午5:23
      */
     private void activate() throws Exception {
-        notifyDmaster();
         log.info("dagent 应用已启动...");
     }
-
-    private void notifyDmaster() throws Exception {
-        agentNotifier.afterStart();
-    }
 }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/BuildController.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dmaster.app.controller;
 
-import cn.reghao.autodop.dmaster.app.constant.EnvType;
+import cn.reghao.autodop.dmaster.app.entity.orchestration.EnvType;
 import cn.reghao.autodop.dmaster.app.vo.SuccessfullyBuildVO;
 import cn.reghao.autodop.dmaster.app.vo.log.BuildDeployResult;
 import cn.reghao.autodop.dmaster.app.service.BuildService;

+ 2 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/ConfigController.java

@@ -2,6 +2,8 @@ package cn.reghao.autodop.dmaster.app.controller;
 
 import cn.reghao.autodop.common.dagent.app.api.data.deploy.PackerType;
 import cn.reghao.autodop.dmaster.app.constant.*;
+import cn.reghao.autodop.dmaster.app.entity.orchestration.AppType;
+import cn.reghao.autodop.dmaster.app.entity.orchestration.EnvType;
 import cn.reghao.autodop.dmaster.app.service.ConfigService;
 import cn.reghao.autodop.dmaster.app.constant.RepoAuthType;
 import cn.reghao.autodop.common.utils.data.db.PageList;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/ManageController.java

@@ -2,7 +2,7 @@ package cn.reghao.autodop.dmaster.app.controller;
 
 import cn.reghao.autodop.common.deploy.AppStatus;
 import cn.reghao.autodop.common.dockerc.exception.DockerException;
-import cn.reghao.autodop.dmaster.app.constant.EnvType;
+import cn.reghao.autodop.dmaster.app.entity.orchestration.EnvType;
 import cn.reghao.autodop.dmaster.app.service.LogManager;
 import cn.reghao.autodop.dmaster.app.service.StatusManager;
 import cn.reghao.autodop.dmaster.app.vo.LogFile;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/OrchestrateController.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dmaster.app.controller;
 
-import cn.reghao.autodop.dmaster.app.constant.EnvType;
+import cn.reghao.autodop.dmaster.app.entity.orchestration.EnvType;
 import cn.reghao.autodop.dmaster.app.service.OrchestrateService;
 import cn.reghao.autodop.common.result.WebResult;
 import io.swagger.annotations.Api;

+ 34 - 34
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/crud/BuildCrudController.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/crud/BuildConfigCrudController.java

@@ -3,12 +3,12 @@ package cn.reghao.autodop.dmaster.app.controller.crud;
 import cn.reghao.autodop.common.result.WebResult;
 import cn.reghao.autodop.common.utils.data.db.PageList;
 import cn.reghao.autodop.common.utils.data.serializer.JsonConverter;
-import cn.reghao.autodop.dmaster.app.entity.build.AppCompile;
-import cn.reghao.autodop.dmaster.app.entity.build.AppPack;
-import cn.reghao.autodop.dmaster.app.entity.build.AppUpdate;
-import cn.reghao.autodop.dmaster.app.service.crud.build.AppCompileCrudService;
-import cn.reghao.autodop.dmaster.app.service.crud.build.AppPackCrudService;
-import cn.reghao.autodop.dmaster.app.service.crud.build.AppUpdateCrudService;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.CompilerConfig;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.PackerConfig;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.RepoConfig;
+import cn.reghao.autodop.dmaster.app.service.crud.build.CompilerConfigCrudService;
+import cn.reghao.autodop.dmaster.app.service.crud.build.PackerConfigCrudService;
+import cn.reghao.autodop.dmaster.app.service.crud.build.RepoConfigCrudService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -23,47 +23,47 @@ import org.springframework.web.bind.annotation.*;
 @Api(tags = "应用构建配置 CRUD 接口")
 @RestController
 @RequestMapping("/api/config/build")
-public class BuildCrudController {
-    private AppUpdateCrudService updateCrudService;
-    private AppCompileCrudService compileCrudService;
-    private AppPackCrudService packCrudService;
+public class BuildConfigCrudController {
+    private RepoConfigCrudService repoConfigCrudService;
+    private CompilerConfigCrudService compilerConfigCrudService;
+    private PackerConfigCrudService packerConfigCrudService;
 
-    public BuildCrudController(AppUpdateCrudService updateCrudService,
-                               AppCompileCrudService compileCrudService,
-                               AppPackCrudService packCrudService) {
-        this.updateCrudService = updateCrudService;
-        this.compileCrudService = compileCrudService;
-        this.packCrudService = packCrudService;
+    public BuildConfigCrudController(RepoConfigCrudService repoConfigCrudService,
+                                     CompilerConfigCrudService compilerConfigCrudService,
+                                     PackerConfigCrudService packerConfigCrudService) {
+        this.repoConfigCrudService = repoConfigCrudService;
+        this.compilerConfigCrudService = compilerConfigCrudService;
+        this.packerConfigCrudService = packerConfigCrudService;
     }
 
     /* 应用更新配置 */
     @ApiOperation(value = "添加应用更新配置")
     @PostMapping(value = "/update", consumes = "application/json")
     public ResponseEntity<String> addUpdateConfig(@RequestBody String json) throws Exception {
-        AppUpdate appUpdate = (AppUpdate) JsonConverter.jsonToObject(json, AppUpdate.class);
-        updateCrudService.addOrModify(appUpdate);
+        RepoConfig appUpdate = (RepoConfig) JsonConverter.jsonToObject(json, RepoConfig.class);
+        repoConfigCrudService.addOrModify(appUpdate);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "分页获取应用更新配置")
     @GetMapping("/update")
     public ResponseEntity<String> getUpdateConfigByPage(@RequestParam("page") int page, @RequestParam("size") int size) {
-        PageList<AppUpdate> pageList = updateCrudService.getByPage(page, size);
+        PageList<RepoConfig> pageList = repoConfigCrudService.getByPage(page, size);
         return ResponseEntity.ok().body(WebResult.success(pageList));
     }
 
     @ApiOperation(value = "修改应用更新配置")
     @PutMapping("/update")
     public ResponseEntity<String> modifyUpdateConfig(@RequestBody String json) throws Exception {
-        AppUpdate appUpdate = (AppUpdate) JsonConverter.jsonToObject(json, AppUpdate.class);
-        updateCrudService.addOrModify(appUpdate);
+        RepoConfig appUpdate = (RepoConfig) JsonConverter.jsonToObject(json, RepoConfig.class);
+        repoConfigCrudService.addOrModify(appUpdate);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "删除应用更新配置")
     @DeleteMapping("/update/{uniqueKey}")
     public ResponseEntity<String> deleteUpdateConfig(@PathVariable("uniqueKey") String uniqueKey) throws Exception {
-        updateCrudService.delete(uniqueKey);
+        repoConfigCrudService.delete(uniqueKey);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
     
@@ -71,30 +71,30 @@ public class BuildCrudController {
     @ApiOperation(value = "添加应用编译配置")
     @PostMapping(value = "/compile", consumes = "application/json")
     public ResponseEntity<String> addCompileConfig(@RequestBody String json) throws Exception {
-        AppCompile appCompile = (AppCompile) JsonConverter.jsonToObject(json, AppCompile.class);
-        compileCrudService.addOrModify(appCompile);
+        CompilerConfig appCompile = (CompilerConfig) JsonConverter.jsonToObject(json, CompilerConfig.class);
+        compilerConfigCrudService.addOrModify(appCompile);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "分页获取应用编译配置")
     @GetMapping("/compile")
     public ResponseEntity<String> getCompileConfigByPage(@RequestParam("page") int page, @RequestParam("size") int size) {
-        PageList<AppCompile> pageList = compileCrudService.getByPage(page, size);
+        PageList<CompilerConfig> pageList = compilerConfigCrudService.getByPage(page, size);
         return ResponseEntity.ok().body(WebResult.success(pageList));
     }
 
     @ApiOperation(value = "修改应用编译配置")
     @PutMapping("/compile")
     public ResponseEntity<String> modifyCompileConfig(@RequestBody String json) throws Exception {
-        AppCompile appCompile = (AppCompile) JsonConverter.jsonToObject(json, AppCompile.class);
-        compileCrudService.addOrModify(appCompile);
+        CompilerConfig appCompile = (CompilerConfig) JsonConverter.jsonToObject(json, CompilerConfig.class);
+        compilerConfigCrudService.addOrModify(appCompile);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "删除应用编译配置")
     @DeleteMapping("/compile/{uniqueKey}")
     public ResponseEntity<String> deleteCompileConfig(@PathVariable("uniqueKey") String uniqueKey) throws Exception {
-        compileCrudService.delete(uniqueKey);
+        compilerConfigCrudService.delete(uniqueKey);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
@@ -102,30 +102,30 @@ public class BuildCrudController {
     @ApiOperation(value = "添加应用打包配置")
     @PostMapping(value = "/pack", consumes = "application/json")
     public ResponseEntity<String> addPackConfig(@RequestBody String json) throws Exception {
-        AppPack appPack = (AppPack) JsonConverter.jsonToObject(json, AppPack.class);
-        packCrudService.addOrModify(appPack);
+        PackerConfig appPack = (PackerConfig) JsonConverter.jsonToObject(json, PackerConfig.class);
+        packerConfigCrudService.addOrModify(appPack);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "分页获取应用打包配置")
     @GetMapping("/pack")
     public ResponseEntity<String> getPackConfigByPage(@RequestParam("page") int page, @RequestParam("size") int size) {
-        PageList<AppPack> pageList = packCrudService.getByPage(page, size);
+        PageList<PackerConfig> pageList = packerConfigCrudService.getByPage(page, size);
         return ResponseEntity.ok().body(WebResult.success(pageList));
     }
 
     @ApiOperation(value = "修改应用打包配置")
     @PutMapping("/pack")
     public ResponseEntity<String> modifyPackConfig(@RequestBody String json) throws Exception {
-        AppPack appPack = (AppPack) JsonConverter.jsonToObject(json, AppPack.class);
-        packCrudService.addOrModify(appPack);
+        PackerConfig appPack = (PackerConfig) JsonConverter.jsonToObject(json, PackerConfig.class);
+        packerConfigCrudService.addOrModify(appPack);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "删除应用打包配置")
     @DeleteMapping("/pack/{uniqueKey}")
     public ResponseEntity<String> deletePackConfig(@PathVariable("uniqueKey") String uniqueKey) throws Exception {
-        packCrudService.delete(uniqueKey);
+        packerConfigCrudService.delete(uniqueKey);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 }

+ 3 - 13
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/LocalDir.java

@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
 import javax.persistence.Entity;
 
 /**
- * 应用构建需要的本地目录
+ * 应用构建需要的本地目录
  *
  * @author reghao
  * @date 2019-08-27 00:17:55
@@ -17,8 +17,8 @@ import javax.persistence.Entity;
 @Entity
 public class LocalDir extends BaseEntity {
     // 主机唯一标识
-    private String hostId;
-    // 本地目录
+    private String machineId;
+    // 本地目录,包含 local-repo, compile-dir 和 pack-dir 三个目录
     private String localDir;
     // 总容量
     private String capacity;
@@ -27,16 +27,6 @@ public class LocalDir extends BaseEntity {
     // 已用容量
     private String used;
 
-    // 本地仓库
-    @Deprecated
-    private String localRepo;
-    // 编译目录
-    @Deprecated
-    private String compileDir;
-    // 打包目录
-    @Deprecated
-    private String packDir;
-
     public LocalDir vo() {
         this.setId(null);
         this.setIsDelete(null);

+ 0 - 34
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/AppCompile.java

@@ -1,34 +0,0 @@
-package cn.reghao.autodop.dmaster.app.entity.build;
-
-import cn.reghao.autodop.common.orm.BaseEntity;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-
-/**
- * @author reghao
- * @date 2020-05-13 16:40:22
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Entity
-@Deprecated
-public class AppCompile extends BaseEntity {
-    private String hostId;
-    private String compilerType;
-    @Column(nullable = false, unique = true)
-    private String compilerName;
-    private String compilerHome;
-    private String versionCmd;
-    private String compileCmd;
-
-    public AppCompile vo() {
-        this.setId(null);
-        this.setIsDelete(null);
-        this.setCreateTime(null);
-        this.setUpdateTime(null);
-        return this;
-    }
-}

+ 0 - 33
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/AppPack.java

@@ -1,33 +0,0 @@
-package cn.reghao.autodop.dmaster.app.entity.build;
-
-import cn.reghao.autodop.common.orm.BaseEntity;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-
-/**
- * @author reghao
- * @date 2020-05-13 16:40:22
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Entity
-@Deprecated
-public class AppPack extends BaseEntity {
-    private String packerType;
-    @Column(nullable = false, unique = true)
-    private String packerName;
-    // 打包后的应用存放的位置,可以是一个本地位置,也可以是一个网络位置
-    // 根据打包类型来确定
-    private String location;
-
-    public AppPack vo() {
-        this.setId(null);
-        this.setIsDelete(null);
-        this.setCreateTime(null);
-        this.setUpdateTime(null);
-        return this;
-    }
-}

+ 0 - 37
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/AppUpdate.java

@@ -1,37 +0,0 @@
-package cn.reghao.autodop.dmaster.app.entity.build;
-
-import cn.reghao.autodop.common.orm.BaseEntity;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Lob;
-
-/**
- * @author reghao
- * @date 2020-05-13 16:40:22
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Entity
-@Deprecated
-public class AppUpdate extends BaseEntity {
-    private String repoType;
-    @Column(nullable = false, unique = true)
-    private String repoName;
-    private String authType;
-    @Lob
-    @Column(columnDefinition="text")
-    private String rsaPrikey;
-    private String username;
-    private String password;
-
-    public AppUpdate vo() {
-        this.setId(null);
-        this.setIsDelete(null);
-        this.setCreateTime(null);
-        this.setUpdateTime(null);
-        return this;
-    }
-}

+ 7 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/BuildConfig.java

@@ -12,8 +12,15 @@ import javax.persistence.*;
  * @date 2020-05-13 16:40:22
  */
 @Data
+@Embeddable
 public class BuildConfig {
+    @ManyToOne(cascade = CascadeType.PERSIST)
+    @JoinColumn(name = "repo_config_id", foreignKey = @ForeignKey(value = ConstraintMode.NO_CONSTRAINT))
     private RepoConfig repoConfig;
+    @ManyToOne(cascade = CascadeType.PERSIST)
+    @JoinColumn(name = "compiler_config_id", foreignKey = @ForeignKey(value = ConstraintMode.NO_CONSTRAINT))
     private CompilerConfig compilerConfig;
+    @ManyToOne(cascade = CascadeType.PERSIST)
+    @JoinColumn(name = "packer_config_id", foreignKey = @ForeignKey(value = ConstraintMode.NO_CONSTRAINT))
     private PackerConfig packerConfig;
 }

+ 7 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/tools/CompilerConfig.java

@@ -1,6 +1,10 @@
 package cn.reghao.autodop.dmaster.app.entity.build.tools;
 
+import cn.reghao.autodop.common.orm.BaseEntity;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Entity;
 
 /**
  * 编译器配置
@@ -9,7 +13,9 @@ import lombok.Data;
  * @date 2021-02-05 17:37:28
  */
 @Data
-public class CompilerConfig {
+@EqualsAndHashCode(callSuper = false)
+@Entity
+public class CompilerConfig extends BaseEntity {
     private String name;
     private CompilerType type;
     private String homePath;

+ 7 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/tools/PackerConfig.java

@@ -1,6 +1,10 @@
 package cn.reghao.autodop.dmaster.app.entity.build.tools;
 
+import cn.reghao.autodop.common.orm.BaseEntity;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Entity;
 
 /**
  * 打包配置
@@ -9,7 +13,9 @@ import lombok.Data;
  * @date 2020-05-13 16:40:22
  */
 @Data
-public class PackerConfig {
+@EqualsAndHashCode(callSuper = false)
+@Entity
+public class PackerConfig extends BaseEntity {
     private String name;
     private PackerType type;
     // 打包后的应用存放的位置,可以是一个本地目录,也可以是一个网络位置

+ 7 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/build/tools/RepoConfig.java

@@ -1,6 +1,10 @@
 package cn.reghao.autodop.dmaster.app.entity.build.tools;
 
+import cn.reghao.autodop.common.orm.BaseEntity;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Entity;
 
 /**
  * 仓库配置
@@ -9,7 +13,9 @@ import lombok.Data;
  * @date 2020-05-13 22:50:38
  */
 @Data
-public class RepoConfig {
+@EqualsAndHashCode(callSuper = false)
+@Entity
+public class RepoConfig extends BaseEntity {
     private String name;
     private RepoType type;
     private AuthType authType;

+ 8 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/deploy/DeployConfig.java

@@ -2,8 +2,14 @@ package cn.reghao.autodop.dmaster.app.entity.deploy;
 
 import cn.reghao.autodop.common.dagent.app.api.data.deploy.PackerType;
 import cn.reghao.autodop.common.dagent.machine.api.data.MachineRegistry;
+import cn.reghao.autodop.common.dagent.machine.hardware.network.NetworkInfo;
 import lombok.Data;
+import org.hibernate.annotations.LazyCollection;
+import org.hibernate.annotations.LazyCollectionOption;
 
+import javax.persistence.ElementCollection;
+import javax.persistence.Embeddable;
+import java.util.List;
 import java.util.Set;
 
 /**
@@ -13,8 +19,9 @@ import java.util.Set;
  * @date 2020-05-13 16:59:20
  */
 @Data
+@Embeddable
 public class DeployConfig {
-    private Set<MachineRegistry> machineRegistry;
+    //private List<MachineRegistry> machineRegistry;
     private PackerType packerType;
     private String runningHome;
     private String runningScript;

+ 3 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/deploy/LogConfig.java

@@ -4,6 +4,8 @@ import cn.reghao.autodop.common.dagent.app.api.data.log.LogLevel;
 import cn.reghao.autodop.common.dagent.app.api.data.log.LogType;
 import lombok.Data;
 
+import javax.persistence.Embeddable;
+
 /**
  * 应用日志配置
  *
@@ -11,6 +13,7 @@ import lombok.Data;
  * @date 2020-05-19 09:24:41
  */
 @Data
+@Embeddable
 public class LogConfig {
     private LogType logType;
     private LogLevel logLevel;

+ 4 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/deploy/RunningConfig.java

@@ -2,6 +2,8 @@ package cn.reghao.autodop.dmaster.app.entity.deploy;
 
 import lombok.Data;
 
+import javax.persistence.ElementCollection;
+import javax.persistence.Embeddable;
 import java.util.List;
 
 /**
@@ -11,8 +13,10 @@ import java.util.List;
  * @date 2021-02-05 23:30:27
  */
 @Data
+@Embeddable
 public class RunningConfig {
     private int httpPort;
     private String healthCheck;
+    @ElementCollection
     private List<LogConfig> logs;
 }

+ 0 - 4
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/log/DeployLog.java

@@ -3,18 +3,14 @@ package cn.reghao.autodop.dmaster.app.entity.log;
 import cn.reghao.autodop.common.orm.BaseDocument;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
 import org.springframework.data.mongodb.core.mapping.Document;
 
-import java.time.LocalDateTime;
-
 /**
  * 应用部署日志
  *
  * @author reghao
  * @date 2020-03-10 11:22:05
  */
-@NoArgsConstructor
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Document

+ 27 - 13
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/orchestration/AppOrchestration.java

@@ -1,5 +1,6 @@
 package cn.reghao.autodop.dmaster.app.entity.orchestration;
 
+import cn.reghao.autodop.common.orm.BaseEntity;
 import cn.reghao.autodop.dmaster.app.entity.Notification;
 import cn.reghao.autodop.dmaster.app.entity.build.BuildConfig;
 import cn.reghao.autodop.dmaster.app.entity.deploy.DeployConfig;
@@ -8,6 +9,8 @@ import cn.reghao.autodop.dmaster.auth.entity.Role;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import javax.persistence.*;
+
 /**
  * TODO 添加定时构建部署参数
  *
@@ -16,31 +19,42 @@ import lombok.EqualsAndHashCode;
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class AppOrchestration implements Cloneable {
+@Entity
+public class AppOrchestration extends BaseEntity implements Cloneable {
     // TODO 仅允许大小写、数字和 ‘_’ ‘-’ 等字符
+    @Column(nullable = false, unique = true)
     private String appId;
-    private String appType;
-    private String env;
-    private String appRepo;
-    private String branch;
-
-    // 应用代码所在目录的名字
-    private String dirname;
-    // 编译 app 时所处的目录,以仓库目录为起点
-    private String compileDir;
-
+    private EnvType env;
     private String description;
     // 是否总是构建
     private boolean alwaysBuild;
+    // 启用编排
     private boolean enable;
 
-    // projId 和 appBuild 二者只能存在一个
-    private ProjOrchestration proj;
+    /* 构建配置 */
+    private AppType appType;
+    private String appRepo;
+    private String branch;
+    // 应用代码所在目录的名字
+    private String dirname;
+    // 编译应用时所处的目录,以仓库目录为起点
+    private String compileHome;
     private BuildConfig buildConfig;
+    // projId 和 buildConfig 二者只能存在一个
+    @ManyToOne(cascade = CascadeType.PERSIST)
+    @JoinColumn(name = "proj_orchestration_id", foreignKey = @ForeignKey(value = ConstraintMode.NO_CONSTRAINT))
+    private ProjOrchestration proj;
+
+    /* 部署配置 */
     private DeployConfig deployConfig;
+    /* 运行配置 */
     private RunningConfig runningConfig;
 
+    @ManyToOne(cascade = CascadeType.PERSIST)
+    @JoinColumn(name = "notification_id", foreignKey = @ForeignKey(value = ConstraintMode.NO_CONSTRAINT))
     private Notification notification;
+    @ManyToOne(cascade = CascadeType.PERSIST)
+    @JoinColumn(name = "role_id", foreignKey = @ForeignKey(value = ConstraintMode.NO_CONSTRAINT))
     private Role role;
     // TODO 添加定时构建部署选项
     // TODO 接入到项目管理系统

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/constant/AppType.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/orchestration/AppType.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.constant;
+package cn.reghao.autodop.dmaster.app.entity.orchestration;
 
 /**
  * 应用类型

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/constant/EnvType.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/orchestration/EnvType.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.constant;
+package cn.reghao.autodop.dmaster.app.entity.orchestration;
 
 /**
  * 应用构建部署时所处的环境

+ 1 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/entity/orchestration/ProjOrchestration.java

@@ -19,6 +19,7 @@ public class ProjOrchestration extends BaseEntity implements Cloneable {
     @Column(nullable = false, unique = true)
     private String projId;
     private String description;
+
     @Column(nullable = false)
     private String projRepo;
     private String branch;

+ 4 - 4
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/build/AppCompileRepository.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/build/CompilerConfigRepository.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dmaster.app.repository.build;
 
-import cn.reghao.autodop.dmaster.app.entity.build.AppCompile;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.CompilerConfig;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Modifying;
 
@@ -10,10 +10,10 @@ import javax.transaction.Transactional;
  * @author reghao
  * @date 2020-01-21 14:53:03
  */
-public interface AppCompileRepository extends JpaRepository<AppCompile, Long> {
-    AppCompile findByIsDeleteFalseAndCompilerName(String compilerName);
+public interface CompilerConfigRepository extends JpaRepository<CompilerConfig, Long> {
+    CompilerConfig findByIsDeleteFalseAndName(String compilerName);
 
     @Modifying
     @Transactional
-    void deleteByCompilerName(String compilerName);
+    void deleteByName(String compilerName);
 }

+ 4 - 4
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/build/AppUpdateRepository.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/build/PackerConfigRepository.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dmaster.app.repository.build;
 
-import cn.reghao.autodop.dmaster.app.entity.build.AppUpdate;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.PackerConfig;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Modifying;
 
@@ -10,10 +10,10 @@ import javax.transaction.Transactional;
  * @author reghao
  * @date 2020-01-21 14:53:03
  */
-public interface AppUpdateRepository extends JpaRepository<AppUpdate, Long> {
-    AppUpdate findByIsDeleteFalseAndRepoName(String repoName);
+public interface PackerConfigRepository extends JpaRepository<PackerConfig, Long> {
+    PackerConfig findByIsDeleteFalseAndName(String packerName);
 
     @Modifying
     @Transactional
-    void deleteByRepoName(String repoName);
+    void deleteByName(String packerName);
 }

+ 4 - 4
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/build/AppPackRepository.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/build/RepoConfigRepository.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dmaster.app.repository.build;
 
-import cn.reghao.autodop.dmaster.app.entity.build.AppPack;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.RepoConfig;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Modifying;
 
@@ -10,10 +10,10 @@ import javax.transaction.Transactional;
  * @author reghao
  * @date 2020-01-21 14:53:03
  */
-public interface AppPackRepository extends JpaRepository<AppPack, Long> {
-    AppPack findByIsDeleteFalseAndPackerName(String packerName);
+public interface RepoConfigRepository extends JpaRepository<RepoConfig, Long> {
+    RepoConfig findByIsDeleteFalseAndName(String repoName);
 
     @Modifying
     @Transactional
-    void deleteByPackerName(String packerName);
+    void deleteByName(String repoName);
 }

+ 2 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/log/BuildLogRepository.java

@@ -10,9 +10,9 @@ import org.springframework.data.mongodb.repository.MongoRepository;
  * @date 2020-01-21 14:53:03
  */
 public interface BuildLogRepository extends MongoRepository<BuildLog, Long> {
-    BuildLog findFirstByAppIdOrderByCreateTimeDesc(String appId);
+    /*BuildLog findFirstByAppIdOrderByCreateTimeDesc(String appId);
     // 应用成功构建的列表
     Page<BuildLog> findByAppIdAndStatusCode(String appId, int statusCode, Pageable pageable);
     Page<BuildLog> find(Pageable pageable);
-    Page<BuildLog> findByAppId(String appId, Pageable pageable);
+    Page<BuildLog> findByAppId(String appId, Pageable pageable);*/
 }

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

@@ -10,7 +10,7 @@ import org.springframework.data.mongodb.repository.MongoRepository;
  * @date 2020-01-21 14:53:03
  */
 public interface CommitLogRepository extends MongoRepository<CommitLog, Long> {
-    CommitLog findByCommitId(String commitId);
+    /*CommitLog findByCommitId(String commitId);
     Page<CommitLog> find(Pageable pageable);
-    Page<CommitLog> findByAppId(String appId, Pageable pageable);
+    Page<CommitLog> findByAppId(String appId, Pageable pageable);*/
 }

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

@@ -4,7 +4,7 @@ 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;
-import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.mongodb.repository.MongoRepository;
 
 import java.util.List;
 
@@ -12,8 +12,8 @@ import java.util.List;
  * @author reghao
  * @date 2020-01-21 14:53:03
  */
-public interface DeployLogRepository extends JpaRepository<DeployLog, Long> {
-    List<DeployLog> findByIsDeleteFalseAndBuildLog(BuildLog buildLog);
+public interface DeployLogRepository extends MongoRepository<DeployLog, Long> {
+    /*List<DeployLog> findByIsDeleteFalseAndBuildLog(BuildLog buildLog);
     Page<DeployLog> findByIsDeleteFalseAndBuildLog_Env(String env, Pageable pageable);
-    Page<DeployLog> findByIsDeleteFalseAndBuildLog_EnvAndBuildLog_AppId(String env, String appId, Pageable pageable);
+    Page<DeployLog> findByIsDeleteFalseAndBuildLog_EnvAndBuildLog_AppId(String env, String appId, Pageable pageable);*/
 }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/repository/orchestration/LocalDirRepository.java

@@ -9,5 +9,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
  * @date 2020-01-21 14:53:03
  */
 public interface LocalDirRepository extends JpaRepository<LocalDir, Long> {
-    LocalDir findByHostId(String hostId);
+    LocalDir findByMachineId(String machineId);
 }

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

@@ -55,7 +55,7 @@ public class BuildService {
         // TODO 待优化代码,使用一条 SQL 语句完成?
         // 找出每个 app 最新的部署日志
         List<BuildDeployResult> list = new ArrayList<>();
-        for (AppOrchestration app : apps.getContent()) {
+        /*for (AppOrchestration app : apps.getContent()) {
             BuildLog buildLog = buildLogRepository.findFirstByAppIdOrderByCreateTimeDesc(app.getAppId());
             if (buildLog != null && buildLog.getStatusCode() == 0) {
                 // 若 app 构建成功,则找出其部署日志
@@ -68,14 +68,14 @@ public class BuildService {
             } else {
                 list.add(new BuildDeployResult(app.getAppId()));
             }
-        }
+        }*/
         results.setList(list);
         return results;
     }
 
     public PageList<SuccessfullyBuildVO> successfullyBuilds(String appId, PageRequest pageRequest) {
         PageList<SuccessfullyBuildVO> pageList = new PageList<>();
-        Page<BuildLog> buildLogs = buildLogRepository.findByAppIdAndStatusCode(appId, 0, pageRequest);
+        /*Page<BuildLog> buildLogs = buildLogRepository.findByAppIdAndStatusCode(appId, 0, pageRequest);
         pageList.setTotalPages(buildLogs.getTotalPages());
         pageList.setTotalSize(buildLogs.getTotalElements());
         pageList.setHasNext(buildLogs.hasNext());
@@ -87,55 +87,55 @@ public class BuildService {
                     String buildTime = DatetimeConverter.format(buildLog.getBuildTime());
                     return new SuccessfullyBuildVO(commitId, commitMsg, appPath, buildTime);
                 })
-                .collect(Collectors.toList()));
+                .collect(Collectors.toList()));*/
         return pageList;
     }
 
     public PageList<CommitLogVO> commitLogs(String env, String appId, PageRequest pageRequest) {
         Page<CommitLog> commitLogs;
         if (appId != null) {
-            commitLogs = commitLogRepository.findByAppId(appId, pageRequest);
+            //commitLogs = commitLogRepository.findByAppId(appId, pageRequest);
         } else {
-            commitLogs = commitLogRepository.find(pageRequest);
+            //commitLogs = commitLogRepository.find(pageRequest);
         }
 
         PageList<CommitLogVO> pageList = new PageList<>();
-        pageList.setTotalPages(commitLogs.getTotalPages());
+        /*pageList.setTotalPages(commitLogs.getTotalPages());
         pageList.setTotalSize(commitLogs.getTotalElements());
         pageList.setHasNext(commitLogs.hasNext());
-        pageList.setList(commitLogs.stream().map(CommitLogVO::from).collect(Collectors.toList()));
+        pageList.setList(commitLogs.stream().map(CommitLogVO::from).collect(Collectors.toList()));*/
         return pageList;
     }
 
     public PageList<BuildLogVO> buildLogs(String env, String appId, PageRequest pageRequest) {
         Page<BuildLog> buildLogs;
-        if (appId != null) {
+        /*if (appId != null) {
             buildLogs = buildLogRepository.findByAppId(appId, pageRequest);
         } else {
             buildLogs = buildLogRepository.find(pageRequest);
-        }
+        }*/
 
         PageList<BuildLogVO> pageList = new PageList<>();
-        pageList.setTotalPages(buildLogs.getTotalPages());
+        /*pageList.setTotalPages(buildLogs.getTotalPages());
         pageList.setTotalSize(buildLogs.getTotalElements());
         pageList.setHasNext(buildLogs.hasNext());
-        pageList.setList(buildLogs.stream().map(BuildLogVO::from).collect(Collectors.toList()));
+        pageList.setList(buildLogs.stream().map(BuildLogVO::from).collect(Collectors.toList()));*/
         return pageList;
     }
 
     public PageList<DeployLogVO> deployLogs(String env, String appId, PageRequest pageRequest) {
-        Page<DeployLog> deployLogs;
+        /*Page<DeployLog> deployLogs;
         if (appId != null) {
             deployLogs = deployLogRepository.findByIsDeleteFalseAndBuildLog_EnvAndBuildLog_AppId(env, appId, pageRequest);
         } else {
             deployLogs = deployLogRepository.findByIsDeleteFalseAndBuildLog_Env(env, pageRequest);
-        }
+        }*/
 
         PageList<DeployLogVO> pageList = new PageList<>();
-        pageList.setTotalPages(deployLogs.getTotalPages());
+      /*  pageList.setTotalPages(deployLogs.getTotalPages());
         pageList.setTotalSize(deployLogs.getTotalElements());
         pageList.setHasNext(deployLogs.hasNext());
-        pageList.setList(deployLogs.stream().map(DeployLogVO::from).collect(Collectors.toList()));
+        pageList.setList(deployLogs.stream().map(DeployLogVO::from).collect(Collectors.toList()));*/
         return pageList;
     }
 }

+ 52 - 54
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/ConfigService.java

@@ -1,18 +1,13 @@
 package cn.reghao.autodop.dmaster.app.service;
 
-import cn.reghao.autodop.common.dagent.app.api.data.deploy.PackerType;
 import cn.reghao.autodop.common.shell.ShellExecutor;
 import cn.reghao.autodop.common.utils.data.serializer.JsonConverter;
 import cn.reghao.autodop.dmaster.app.constant.ConfigType;
-import cn.reghao.autodop.dmaster.app.entity.build.AppCompile;
-import cn.reghao.autodop.dmaster.app.entity.build.AppPack;
-import cn.reghao.autodop.dmaster.app.entity.build.AppUpdate;
 import cn.reghao.autodop.dmaster.app.entity.LocalDir;
 import cn.reghao.autodop.dmaster.app.entity.Notification;
-import cn.reghao.autodop.dmaster.app.entity.orchestration.ProjOrchestration;
-import cn.reghao.autodop.dmaster.app.repository.build.AppCompileRepository;
-import cn.reghao.autodop.dmaster.app.repository.build.AppPackRepository;
-import cn.reghao.autodop.dmaster.app.repository.build.AppUpdateRepository;
+import cn.reghao.autodop.dmaster.app.repository.build.CompilerConfigRepository;
+import cn.reghao.autodop.dmaster.app.repository.build.PackerConfigRepository;
+import cn.reghao.autodop.dmaster.app.repository.build.RepoConfigRepository;
 import cn.reghao.autodop.dmaster.app.repository.orchestration.LocalDirRepository;
 import cn.reghao.autodop.dmaster.app.repository.orchestration.NotificationRepository;
 import cn.reghao.autodop.dmaster.app.repository.orchestration.ProjOrchestrationRepository;
@@ -35,23 +30,23 @@ import java.util.stream.Collectors;
 public class ConfigService {
     private LocalDirRepository localDirRepository;
     private NotificationRepository notifyRepository;
-    private AppUpdateRepository updateRepository;
-    private AppCompileRepository compileRepository;
-    private AppPackRepository packRepository;
+    private RepoConfigRepository repoRepository;
+    private CompilerConfigRepository compilerRepository;
+    private PackerConfigRepository packerRepository;
     private ProjOrchestrationRepository projRepository;
     private ShellExecutor shellExecutor;
 
     public ConfigService(LocalDirRepository localDirRepository,
                          NotificationRepository notifyRepository,
-                         AppUpdateRepository updateRepository,
-                         AppCompileRepository compileRepository,
-                         AppPackRepository packRepository,
+                         RepoConfigRepository repoRepository,
+                         CompilerConfigRepository compilerRepository,
+                         PackerConfigRepository packerRepository,
                          ProjOrchestrationRepository projRepository) {
         this.localDirRepository = localDirRepository;
         this.notifyRepository = notifyRepository;
-        this.updateRepository = updateRepository;
-        this.compileRepository = compileRepository;
-        this.packRepository = packRepository;
+        this.repoRepository = repoRepository;
+        this.compilerRepository = compilerRepository;
+        this.packerRepository = packerRepository;
         this.projRepository = projRepository;
         this.shellExecutor = new ShellExecutor();
     }
@@ -62,22 +57,25 @@ public class ConfigService {
             case localDir:
                 LocalDir localDir = (LocalDir) JsonConverter.jsonToObject(json, LocalDir.class);
                 // 检查并创建目录
-                File localRepo = new File(localDir.getLocalRepo());
+                String localRepoPath = localDir.getLocalDir() + "/local-repo";
+                File localRepo = new File(localRepoPath);
                 if (!localRepo.exists() && !localRepo.mkdirs()) {
-                    throw new Exception(localDir.getLocalRepo() + "不存在且创建失败...");
+                    throw new Exception(localRepoPath + "不存在且创建失败...");
                 }
 
-                File compileDir = new File(localDir.getCompileDir());
+                String compileDirPath = localDir.getLocalDir() + "/compile-dir";
+                File compileDir = new File(compileDirPath);
                 if (!compileDir.exists() && !compileDir.mkdirs()) {
-                    throw new Exception(localDir.getCompileDir() + "不存在且创建失败...");
+                    throw new Exception(compileDirPath + "不存在且创建失败...");
                 }
 
-                File packDir = new File(localDir.getPackDir());
+                String packDirPath = localDir.getLocalDir() + "/pack-dir";
+                File packDir = new File(packDirPath);
                 if (!packDir.exists() && !packDir.mkdirs()) {
-                    throw new Exception(localDir.getPackDir() + "不存在且创建失败...");
+                    throw new Exception(packDirPath + "不存在且创建失败...");
                 }
 
-                LocalDir localDirEntity = localDirRepository.findByHostId(localDir.getHostId());
+                LocalDir localDirEntity = localDirRepository.findByMachineId(localDir.getMachineId());
                 if (localDirEntity != null) {
                     localDir.setId(localDirEntity.getId());
                     localDir.setCreateTime(localDirEntity.getCreateTime());
@@ -101,16 +99,16 @@ public class ConfigService {
                 notifyRepository.save(notification);
                 break;
             // 仓库配置
-            case repo:
-                AppUpdate appUpdate = (AppUpdate) JsonConverter.jsonToObject(json, AppUpdate.class);
-                AppUpdate updateEntity = updateRepository.findByIsDeleteFalseAndRepoName(appUpdate.getRepoName());
+            /*case repo:
+                RepoConfig appUpdate = (RepoConfig) JsonConverter.jsonToObject(json, RepoConfig.class);
+                RepoConfig updateEntity = repoRepository.findByIsDeleteFalseAndRepoName(appUpdate.getRepoName());
                 if (updateEntity != null) {
                     appUpdate.setId(updateEntity.getId());
                     appUpdate.setCreateTime(updateEntity.getCreateTime());
                     appUpdate.setUpdateTime(LocalDateTime.now());
                 }
                 appUpdate.setIsDelete(false);
-                updateRepository.save(appUpdate);
+                repoRepository.save(appUpdate);
                 break;
             // 编译器配置
             case compiler:
@@ -119,15 +117,15 @@ public class ConfigService {
                 String script = appCompile.getCompilerHome() + appCompile.getVersionCmd();
                 checkScript(script);
 
-                AppCompile compileEntity =
-                        compileRepository.findByIsDeleteFalseAndCompilerName(appCompile.getCompilerName());
+                CompilerConfig compileEntity =
+                        compilerRepository.findByIsDeleteFalseAndCompilerName(appCompile.getCompilerName());
                 if (compileEntity != null) {
                     appCompile.setId(compileEntity.getId());
                     appCompile.setCreateTime(compileEntity.getCreateTime());
                     appCompile.setUpdateTime(LocalDateTime.now());
                 }
                 appCompile.setIsDelete(false);
-                compileRepository.save(appCompile);
+                compilerRepository.save(appCompile);
                 break;
             // 打包工具配置
             case packer:
@@ -137,15 +135,15 @@ public class ConfigService {
                     checkScript("docker -v");
                 }
 
-                AppPack packEntity = packRepository.findByIsDeleteFalseAndPackerName(appPack.getPackerName());
+                PackerConfig packEntity = packerRepository.findByIsDeleteFalseAndPackerName(appPack.getPackerName());
                 if (packEntity != null) {
                     appPack.setId(packEntity.getId());
                     appPack.setCreateTime(packEntity.getCreateTime());
                     appPack.setUpdateTime(LocalDateTime.now());
                 }
                 appPack.setIsDelete(false);
-                packRepository.save(appPack);
-                break;
+                packerRepository.save(appPack);
+                break;*/
             default:
                 throw new Exception(configType + " 类型不存在");
         }
@@ -171,27 +169,27 @@ public class ConfigService {
                 pageList1.setTotalPages(notifiers.getTotalPages());
                 pageList1.setList(notifiers.getContent().stream().map(Notification::vo).collect(Collectors.toList()));
                 return pageList1;
-            case repo:
-                Page<AppUpdate> appUpdates = updateRepository.findAll(pageRequest);
-                PageList<AppUpdate> pageList2 = new PageList<>();
+            /*case repo:
+                Page<RepoConfig> appUpdates = repoRepository.findAll(pageRequest);
+                PageList<RepoConfig> pageList2 = new PageList<>();
                 pageList2.setTotalSize(appUpdates.getTotalElements());
                 pageList2.setTotalPages(appUpdates.getTotalPages());
-                pageList2.setList(appUpdates.getContent().stream().map(AppUpdate::vo).collect(Collectors.toList()));
+                pageList2.setList(appUpdates.getContent().stream().map(RepoConfig::vo).collect(Collectors.toList()));
                 return pageList2;
             case compiler:
-                Page<AppCompile> appCompiles = compileRepository.findAll(pageRequest);
+                Page<AppCompile> appCompiles = compilerRepository.findAll(pageRequest);
                 PageList<AppCompile> pageList3 = new PageList<>();
                 pageList3.setTotalSize(appCompiles.getTotalElements());
                 pageList3.setTotalPages(appCompiles.getTotalPages());
                 pageList3.setList(appCompiles.getContent().stream().map(AppCompile::vo).collect(Collectors.toList()));
                 return pageList3;
             case packer:
-                Page<AppPack> appPacks = packRepository.findAll(pageRequest);
+                Page<AppPack> appPacks = packerRepository.findAll(pageRequest);
                 PageList<AppPack> pageList4 = new PageList<>();
                 pageList4.setTotalSize(appPacks.getTotalElements());
                 pageList4.setTotalPages(appPacks.getTotalPages());
                 pageList4.setList(appPacks.getContent().stream().map(AppPack::vo).collect(Collectors.toList()));
-                return pageList4;
+                return pageList4;*/
             default:
                 throw new Exception(configType + " 类型不存在");
         }
@@ -205,7 +203,7 @@ public class ConfigService {
      * @date 2020-09-30 下午2:53
      */
     public void delete(String configType, String name) throws Exception {
-        switch (ConfigType.valueOf(configType)) {
+        switch (ConfigType.valueOf(configType)) {/*
             case localDir:
                 break;
             case notifier:
@@ -218,54 +216,54 @@ public class ConfigService {
                 notifyRepository.save(notifierEntity);
                 break;
             case repo:
-                AppUpdate updateEntity = updateRepository.findByIsDeleteFalseAndRepoName(name);
+                RepoConfig updateEntity = repoRepository.findByIsDeleteFalseAndRepoName(name);
                 if (updateEntity == null) {
                     throw new Exception(name + "不存在...");
                 }
                 updateEntity.setIsDelete(true);
-                updateRepository.save(updateEntity);
+                repoRepository.save(updateEntity);
                 break;
             case compiler:
-                AppCompile compileEntity = compileRepository.findByIsDeleteFalseAndCompilerName(name);
+                AppCompile compileEntity = compilerRepository.findByIsDeleteFalseAndCompilerName(name);
                 if (compileEntity == null) {
                     throw new Exception(name + "不存在...");
                 }
                 compileEntity.setIsDelete(true);
-                compileRepository.save(compileEntity);
+                compilerRepository.save(compileEntity);
                 break;
             case packer:
-                AppPack packEntity = packRepository.findByIsDeleteFalseAndPackerName(name);
+                AppPack packEntity = packerRepository.findByIsDeleteFalseAndPackerName(name);
                 if (packEntity == null) {
                     throw new Exception(name + "不存在...");
                 }
                 packEntity.setIsDelete(true);
-                packRepository.save(packEntity);
+                packerRepository.save(packEntity);
                 break;
             default:
-                throw new Exception(configType + " 类型不存在");
+                throw new Exception(configType + " 类型不存在");*/
         }
     }
 
     public Map<String, String> buildConfigs(String buildConfig) {
         Map<String, String> map = new HashMap<>();
-        switch (ConfigType.valueOf(buildConfig)) {
+        /*switch (ConfigType.valueOf(buildConfig)) {
             case proj:
                 for (ProjOrchestration proj : projRepository.findAll()) {
                     map.put(proj.getProjId(), proj.getProjId());
                 }
                 break;
             case update:
-                for (AppUpdate appUpdate : updateRepository.findAll()) {
+                for (RepoConfig appUpdate : repoRepository.findAll()) {
                     map.put(appUpdate.getRepoName(), appUpdate.getRepoName());
                 }
                 break;
             case compile:
-                for (AppCompile appCompile : compileRepository.findAll()) {
+                for (AppCompile appCompile : compilerRepository.findAll()) {
                     map.put(appCompile.getCompilerName(), appCompile.getCompilerName());
                 }
                 break;
             case pack:
-                for (AppPack appPack : packRepository.findAll()) {
+                for (AppPack appPack : packerRepository.findAll()) {
                     map.put(appPack.getPackerName(), appPack.getPackerName());
                 }
                 break;
@@ -275,7 +273,7 @@ public class ConfigService {
                 }
                 break;
             default:
-        }
+        }*/
         return map;
     }
 }

+ 20 - 20
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/OrchestrateService.java

@@ -2,15 +2,15 @@ package cn.reghao.autodop.dmaster.app.service;
 
 import cn.reghao.autodop.common.utils.data.serializer.JsonConverter;
 import cn.reghao.autodop.dmaster.app.entity.build.BuildConfig;
-import cn.reghao.autodop.dmaster.app.entity.build.AppCompile;
-import cn.reghao.autodop.dmaster.app.entity.build.AppPack;
-import cn.reghao.autodop.dmaster.app.entity.build.AppUpdate;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.CompilerConfig;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.PackerConfig;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.RepoConfig;
 import cn.reghao.autodop.dmaster.app.entity.orchestration.AppOrchestration;
 import cn.reghao.autodop.dmaster.app.entity.Notification;
 import cn.reghao.autodop.dmaster.app.entity.orchestration.ProjOrchestration;
-import cn.reghao.autodop.dmaster.app.repository.build.AppCompileRepository;
-import cn.reghao.autodop.dmaster.app.repository.build.AppPackRepository;
-import cn.reghao.autodop.dmaster.app.repository.build.AppUpdateRepository;
+import cn.reghao.autodop.dmaster.app.repository.build.CompilerConfigRepository;
+import cn.reghao.autodop.dmaster.app.repository.build.PackerConfigRepository;
+import cn.reghao.autodop.dmaster.app.repository.build.RepoConfigRepository;
 import cn.reghao.autodop.dmaster.app.repository.orchestration.*;
 import cn.reghao.autodop.dmaster.app.vo.*;
 import cn.reghao.autodop.dmaster.app.vo.orchestration.AppVO;
@@ -31,22 +31,22 @@ import java.util.stream.Collectors;
 public class OrchestrateService {
     private ProjOrchestrationRepository projRepository;
     private AppOrchestrationRepository appRepository;
-    private AppUpdateRepository appUpdateRepository;
-    private AppCompileRepository appCompileRepository;
-    private AppPackRepository appPackRepository;
+    private RepoConfigRepository repoConfigRepository;
+    private CompilerConfigRepository compilerConfigRepository;
+    private PackerConfigRepository packerConfigRepository;
     private NotificationRepository notificationRepository;
 
     public OrchestrateService(ProjOrchestrationRepository projRepository,
                               AppOrchestrationRepository appRepository,
-                              AppUpdateRepository appUpdateRepository,
-                              AppCompileRepository appCompileRepository,
-                              AppPackRepository appPackRepository,
+                              RepoConfigRepository repoConfigRepository,
+                              CompilerConfigRepository compilerConfigRepository,
+                              PackerConfigRepository packerConfigRepository,
                               NotificationRepository notificationRepository) {
         this.projRepository = projRepository;
         this.appRepository = appRepository;
-        this.appUpdateRepository = appUpdateRepository;
-        this.appCompileRepository = appCompileRepository;
-        this.appPackRepository = appPackRepository;
+        this.repoConfigRepository = repoConfigRepository;
+        this.compilerConfigRepository = compilerConfigRepository;
+        this.packerConfigRepository = packerConfigRepository;
         this.notificationRepository = notificationRepository;
     }
 
@@ -84,7 +84,7 @@ public class OrchestrateService {
                     if (entity == null) {
                         throw new Exception("项目 " + appVO.getProjId() + " 不存在...");
                     }
-                    app.setProj(entity);
+                    //app.setProj(entity);
                 }
 
                 AppOrchestration appEntity = appRepository.findByIsDeleteFalseAndAppId(app.getAppId());
@@ -111,21 +111,21 @@ public class OrchestrateService {
     private BuildConfig checkSharedBuildConfig(AppBuildVO buildVO) throws Exception {
         BuildConfig buildConfig = new BuildConfig();
         String updater = buildVO.getUpdater();
-        AppUpdate appUpdate = appUpdateRepository.findByIsDeleteFalseAndRepoName(updater);
+        RepoConfig appUpdate = repoConfigRepository.findByIsDeleteFalseAndName(updater);
         if (appUpdate == null) {
             throw new Exception(updater + " 不存在...");
         }
         //appBuild.setAppUpdate(appUpdate);
 
         String compiler = buildVO.getCompiler();
-        AppCompile appCompile = appCompileRepository.findByIsDeleteFalseAndCompilerName(compiler);
+        CompilerConfig appCompile = compilerConfigRepository.findByIsDeleteFalseAndName(compiler);
         if (appCompile == null) {
             throw new Exception(compiler + " 不存在...");
         }
         //appBuild.setAppCompile(appCompile);
 
         String packer = buildVO.getPacker();
-        AppPack appPack = appPackRepository.findByIsDeleteFalseAndPackerName(packer);
+        PackerConfig appPack = packerConfigRepository.findByIsDeleteFalseAndName(packer);
         if (appPack == null) {
             throw new Exception(packer + " 不存在...");
         }
@@ -146,7 +146,7 @@ public class OrchestrateService {
             if (notification == null) {
                 throw new Exception(notification + " 不存在...");
             }
-            app.setNotification(notification);
+            //app.setNotification(notification);
         }
     }
 

+ 2 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/build/AppIntegrate.java

@@ -180,11 +180,11 @@ public class AppIntegrate {
 
     public void compile() throws Exception {
         // TODO 通过脚本调用编译器时会卡住
-        codeCompiler.compile(app.getDirname(), appCompileDir + app.getCompileDir());
+        codeCompiler.compile(app.getDirname(), appCompileDir + app.getCompileHome());
     }
 
     public String pack() throws Exception {
-        String appEntryDir = appCompileDir + app.getCompileDir();
+        String appEntryDir = appCompileDir + app.getCompileHome();
         return codePacker.pack(app.getAppId(), lastCommitLog.getCommitId(), appEntryDir);
     }
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/build/BuilderUtil.java

@@ -2,7 +2,7 @@ package cn.reghao.autodop.dmaster.app.service.build;
 
 import cn.reghao.autodop.common.utils.FileOps;
 import cn.reghao.autodop.common.utils.text.ReplaceCharacter;
-import cn.reghao.autodop.dmaster.app.constant.AppType;
+import cn.reghao.autodop.dmaster.app.entity.orchestration.AppType;
 import cn.reghao.autodop.dmaster.app.entity.orchestration.AppOrchestration;
 import cn.reghao.autodop.dmaster.app.entity.orchestration.ProjOrchestration;
 import cn.reghao.autodop.dmaster.common.config.SysConfig;

+ 0 - 7
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/build/tools/compiler/ShellCompiler.java

@@ -3,7 +3,6 @@ package cn.reghao.autodop.dmaster.app.service.build.tools.compiler;
 import cn.reghao.autodop.common.shell.ShellExecutor;
 import cn.reghao.autodop.common.shell.ShellResult;
 import cn.reghao.autodop.common.utils.data.serializer.JsonConverter;
-import cn.reghao.autodop.dmaster.app.entity.build.AppCompile;
 import cn.reghao.autodop.dmaster.app.entity.build.tools.CompilerConfig;
 
 /**
@@ -21,12 +20,6 @@ public class ShellCompiler implements CodeCompiler {
         this.shell = new ShellExecutor();
     }
 
-    public ShellCompiler(AppCompile appCompile) {
-        //this.cmd = appCompile.getCompilerHome() + "/" + appCompile.getCompileCmd();
-        this.shell = new ShellExecutor();
-        this.compileCmd = "compilerConfig.getCompileCmd()";
-    }
-
     @Override
     public void compile(String appName, String appCompileHome) throws Exception {
         ShellResult result = shell.execCommand(appCompileHome, compileCmd, true);

+ 2 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/build/tools/updater/ChangedFile.java

@@ -2,6 +2,8 @@ package cn.reghao.autodop.dmaster.app.service.build.tools.updater;
 
 import lombok.Data;
 
+import javax.persistence.Embeddable;
+
 /**
  * @author reghao
  * @date 2020-05-14 10:49:49

+ 19 - 19
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/SharedEntityChecker.java

@@ -2,13 +2,13 @@ package cn.reghao.autodop.dmaster.app.service.crud;
 
 import cn.reghao.autodop.dmaster.app.entity.Notification;
 import cn.reghao.autodop.dmaster.app.entity.build.BuildConfig;
-import cn.reghao.autodop.dmaster.app.entity.build.AppCompile;
-import cn.reghao.autodop.dmaster.app.entity.build.AppPack;
-import cn.reghao.autodop.dmaster.app.entity.build.AppUpdate;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.CompilerConfig;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.PackerConfig;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.RepoConfig;
 import cn.reghao.autodop.dmaster.app.entity.orchestration.AppOrchestration;
-import cn.reghao.autodop.dmaster.app.repository.build.AppCompileRepository;
-import cn.reghao.autodop.dmaster.app.repository.build.AppPackRepository;
-import cn.reghao.autodop.dmaster.app.repository.build.AppUpdateRepository;
+import cn.reghao.autodop.dmaster.app.repository.build.CompilerConfigRepository;
+import cn.reghao.autodop.dmaster.app.repository.build.PackerConfigRepository;
+import cn.reghao.autodop.dmaster.app.repository.build.RepoConfigRepository;
 import cn.reghao.autodop.dmaster.app.repository.orchestration.NotificationRepository;
 import cn.reghao.autodop.dmaster.app.vo.AppBuildVO;
 import org.springframework.stereotype.Service;
@@ -19,18 +19,18 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class SharedEntityChecker {
-    private AppUpdateRepository appUpdateRepository;
-    private AppCompileRepository appCompileRepository;
-    private AppPackRepository appPackRepository;
+    private RepoConfigRepository repoConfigRepository;
+    private CompilerConfigRepository compilerConfigRepository;
+    private PackerConfigRepository packerConfigRepository;
     private NotificationRepository notificationRepository;
 
-    public SharedEntityChecker(AppUpdateRepository appUpdateRepository,
-                               AppCompileRepository appCompileRepository,
-                               AppPackRepository appPackRepository,
+    public SharedEntityChecker(RepoConfigRepository repoConfigRepository,
+                               CompilerConfigRepository compilerConfigRepository,
+                               PackerConfigRepository packerConfigRepository,
                                NotificationRepository notificationRepository) {
-        this.appUpdateRepository = appUpdateRepository;
-        this.appCompileRepository = appCompileRepository;
-        this.appPackRepository = appPackRepository;
+        this.repoConfigRepository = repoConfigRepository;
+        this.compilerConfigRepository = compilerConfigRepository;
+        this.packerConfigRepository = packerConfigRepository;
         this.notificationRepository = notificationRepository;
     }
 
@@ -44,21 +44,21 @@ public class SharedEntityChecker {
     public BuildConfig checkBuildConfig(AppBuildVO buildVO) throws Exception {
         BuildConfig buildConfig = new BuildConfig();
         String updater = buildVO.getUpdater();
-        AppUpdate appUpdate = appUpdateRepository.findByIsDeleteFalseAndRepoName(updater);
+        RepoConfig appUpdate = repoConfigRepository.findByIsDeleteFalseAndName(updater);
         if (appUpdate == null) {
             throw new Exception(updater + " 不存在...");
         }
         //appBuild.setAppUpdate(appUpdate);
 
         String compiler = buildVO.getCompiler();
-        AppCompile appCompile = appCompileRepository.findByIsDeleteFalseAndCompilerName(compiler);
+        CompilerConfig appCompile = compilerConfigRepository.findByIsDeleteFalseAndName(compiler);
         if (appCompile == null) {
             throw new Exception(compiler + " 不存在...");
         }
         //appBuild.setAppCompile(appCompile);
 
         String packer = buildVO.getPacker();
-        AppPack appPack = appPackRepository.findByIsDeleteFalseAndPackerName(packer);
+        PackerConfig appPack = packerConfigRepository.findByIsDeleteFalseAndName(packer);
         if (appPack == null) {
             throw new Exception(packer + " 不存在...");
         }
@@ -79,7 +79,7 @@ public class SharedEntityChecker {
             if (notification == null) {
                 throw new Exception(notification + " 不存在...");
             }
-            app.setNotification(notification);
+            //app.setNotification(notification);
         }
     }
 }

+ 0 - 68
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/build/AppPackCrudService.java

@@ -1,68 +0,0 @@
-package cn.reghao.autodop.dmaster.app.service.crud.build;
-
-import cn.reghao.autodop.common.dagent.app.api.data.deploy.PackerType;
-import cn.reghao.autodop.common.utils.data.db.CrudOps;
-import cn.reghao.autodop.common.utils.data.db.PageList;
-import cn.reghao.autodop.dmaster.app.entity.build.AppPack;
-import cn.reghao.autodop.dmaster.app.repository.build.AppPackRepository;
-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.time.LocalDateTime;
-import java.util.stream.Collectors;
-
-/**
- * @author reghao
- * @date 2020-11-10 21:58:00
- */
-@Service
-public class AppPackCrudService implements CrudOps<AppPack> {
-    private AppPackRepository packRepository;
-
-    public AppPackCrudService(AppPackRepository packRepository) {
-        this.packRepository = packRepository;
-    }
-
-    @Override
-    public void addOrModify(AppPack appPack) throws Exception {
-        if (PackerType.valueOf(appPack.getPackerType()) == PackerType.docker) {
-            // TODO 检测本机上是否存在 docker
-            // checkScript("docker -v");
-        }
-
-        AppPack packEntity = packRepository.findByIsDeleteFalseAndPackerName(appPack.getPackerName());
-        if (packEntity != null) {
-            appPack.setId(packEntity.getId());
-            appPack.setCreateTime(packEntity.getCreateTime());
-            appPack.setUpdateTime(LocalDateTime.now());
-        }
-        appPack.setIsDelete(false);
-        packRepository.save(appPack);
-    }
-
-    @Override
-    public PageList<AppPack> getByPage(int page, int size) {
-        // 默认按更新时间倒序
-        PageRequest pageRequest =
-                PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
-        Page<AppPack> appPacks = packRepository.findAll(pageRequest);
-
-        PageList<AppPack> pageList = new PageList<>();
-        pageList.setTotalSize(appPacks.getTotalElements());
-        pageList.setTotalPages(appPacks.getTotalPages());
-        pageList.setList(appPacks.getContent().stream().map(AppPack::vo).collect(Collectors.toList()));
-        return pageList;
-    }
-
-    @Override
-    public void delete(String uniqueKey) throws Exception {
-        AppPack packEntity = packRepository.findByIsDeleteFalseAndPackerName(uniqueKey);
-        if (packEntity == null) {
-            throw new Exception(uniqueKey + "不存在...");
-        }
-        packEntity.setIsDelete(true);
-        packRepository.save(packEntity);
-    }
-}

+ 16 - 22
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/build/AppCompileCrudService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/build/CompilerConfigCrudService.java

@@ -2,35 +2,29 @@ package cn.reghao.autodop.dmaster.app.service.crud.build;
 
 import cn.reghao.autodop.common.utils.data.db.CrudOps;
 import cn.reghao.autodop.common.utils.data.db.PageList;
-import cn.reghao.autodop.dmaster.app.entity.build.AppCompile;
-import cn.reghao.autodop.dmaster.app.repository.build.AppCompileRepository;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.CompilerConfig;
+import cn.reghao.autodop.dmaster.app.repository.build.CompilerConfigRepository;
 import org.springframework.stereotype.Service;
 
-import java.time.LocalDateTime;
-import java.util.stream.Collectors;
-
 /**
  * @author reghao
  * @date 2020-11-10 21:58:00
  */
 @Service
-public class AppCompileCrudService implements CrudOps<AppCompile> {
-    private AppCompileRepository compileRepository;
+public class CompilerConfigCrudService implements CrudOps<CompilerConfig> {
+    private CompilerConfigRepository compileRepository;
 
-    public AppCompileCrudService(AppCompileRepository compileRepository) {
+    public CompilerConfigCrudService(CompilerConfigRepository compileRepository) {
         this.compileRepository = compileRepository;
     }
 
     @Override
-    public void addOrModify(AppCompile appCompile) throws Exception {
+    public void addOrModify(CompilerConfig appCompile) throws Exception {/*
         String script = appCompile.getCompilerHome() + appCompile.getVersionCmd();
         // TODO 检测本机上是否存在编译器
         //checkScript(script);
 
-        AppCompile compileEntity =
+        CompilerConfig compileEntity =
                 compileRepository.findByIsDeleteFalseAndCompilerName(appCompile.getCompilerName());
         if (compileEntity != null) {
             appCompile.setId(compileEntity.getId());
@@ -38,29 +32,29 @@ public class AppCompileCrudService implements CrudOps<AppCompile> {
             appCompile.setUpdateTime(LocalDateTime.now());
         }
         appCompile.setIsDelete(false);
-        compileRepository.save(appCompile);
+        compileRepository.save(appCompile);*/
     }
 
     @Override
-    public PageList<AppCompile> getByPage(int page, int size) {
+    public PageList<CompilerConfig> getByPage(int page, int size) {/*
         // 默认按更新时间倒序
         PageRequest pageRequest =
                 PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
-        Page<AppCompile> appCompiles = compileRepository.findAll(pageRequest);
-        PageList<AppCompile> pageList = new PageList<>();
-        pageList.setTotalSize(appCompiles.getTotalElements());
+        Page<CompilerConfig> appCompiles = compileRepository.findAll(pageRequest);*/
+        PageList<CompilerConfig> pageList = new PageList<>();
+        /*pageList.setTotalSize(appCompiles.getTotalElements());
         pageList.setTotalPages(appCompiles.getTotalPages());
-        pageList.setList(appCompiles.getContent().stream().map(AppCompile::vo).collect(Collectors.toList()));
+        pageList.setList(appCompiles.getContent().stream().map(CompilerConfig::vo).collect(Collectors.toList()));*/
         return pageList;
     }
 
     @Override
-    public void delete(String uniqueKey) throws Exception {
-        AppCompile compileEntity = compileRepository.findByIsDeleteFalseAndCompilerName(uniqueKey);
+    public void delete(String uniqueKey) throws Exception {/*
+        CompilerConfig compileEntity = compileRepository.findByIsDeleteFalseAndCompilerName(uniqueKey);
         if (compileEntity == null) {
             throw new Exception(uniqueKey + "不存在...");
         }
         compileEntity.setIsDelete(true);
-        compileRepository.save(compileEntity);
+        compileRepository.save(compileEntity);*/
     }
 }

+ 61 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/build/PackerConfigCrudService.java

@@ -0,0 +1,61 @@
+package cn.reghao.autodop.dmaster.app.service.crud.build;
+
+import cn.reghao.autodop.common.utils.data.db.CrudOps;
+import cn.reghao.autodop.common.utils.data.db.PageList;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.PackerConfig;
+import cn.reghao.autodop.dmaster.app.repository.build.PackerConfigRepository;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author reghao
+ * @date 2020-11-10 21:58:00
+ */
+@Service
+public class PackerConfigCrudService implements CrudOps<PackerConfig> {
+    private PackerConfigRepository packRepository;
+
+    public PackerConfigCrudService(PackerConfigRepository packRepository) {
+        this.packRepository = packRepository;
+    }
+
+    @Override
+    public void addOrModify(PackerConfig appPack) throws Exception {/*
+        if (PackerType.valueOf(appPack.getPackerType()) == PackerType.docker) {
+            // TODO 检测本机上是否存在 docker
+            // checkScript("docker -v");
+        }
+
+        PackerConfig packEntity = packRepository.findByIsDeleteFalseAndPackerName(appPack.getPackerName());
+        if (packEntity != null) {
+            appPack.setId(packEntity.getId());
+            appPack.setCreateTime(packEntity.getCreateTime());
+            appPack.setUpdateTime(LocalDateTime.now());
+        }
+        appPack.setIsDelete(false);
+        packRepository.save(appPack);*/
+    }
+
+    @Override
+    public PageList<PackerConfig> getByPage(int page, int size) {/*
+        // 默认按更新时间倒序
+        PageRequest pageRequest =
+                PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
+        Page<PackerConfig> appPacks = packRepository.findAll(pageRequest);
+*/
+        PageList<PackerConfig> pageList = new PageList<>();
+        /*`pageList.setTotalSize(appPacks.getTotalElements());
+        pageList.setTotalPages(appPacks.getTotalPages());
+        pageList.setList(appPacks.getContent().stream().map(PackerConfig::vo).collect(Collectors.toList()));*/
+        return pageList;
+    }
+
+    @Override
+    public void delete(String uniqueKey) throws Exception {/*
+        PackerConfig packEntity = packRepository.findByIsDeleteFalseAndPackerName(uniqueKey);
+        if (packEntity == null) {
+            throw new Exception(uniqueKey + "不存在...");
+        }
+        packEntity.setIsDelete(true);
+        packRepository.save(packEntity);*/
+    }
+}

+ 15 - 19
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/build/AppUpdateCrudService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/build/RepoConfigCrudService.java

@@ -2,61 +2,57 @@ package cn.reghao.autodop.dmaster.app.service.crud.build;
 
 import cn.reghao.autodop.common.utils.data.db.CrudOps;
 import cn.reghao.autodop.common.utils.data.db.PageList;
-import cn.reghao.autodop.dmaster.app.entity.build.AppUpdate;
-import cn.reghao.autodop.dmaster.app.repository.build.AppUpdateRepository;
-import org.springframework.data.domain.Page;
+import cn.reghao.autodop.dmaster.app.entity.build.tools.RepoConfig;
+import cn.reghao.autodop.dmaster.app.repository.build.RepoConfigRepository;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 
-import java.time.LocalDateTime;
-import java.util.stream.Collectors;
-
 /**
  * @author reghao
  * @date 2020-11-10 21:58:00
  */
 @Service
-public class AppUpdateCrudService implements CrudOps<AppUpdate> {
-    private AppUpdateRepository updateRepository;
+public class RepoConfigCrudService implements CrudOps<RepoConfig> {
+    private RepoConfigRepository updateRepository;
 
-    public AppUpdateCrudService(AppUpdateRepository updateRepository) {
+    public RepoConfigCrudService(RepoConfigRepository updateRepository) {
         this.updateRepository = updateRepository;
     }
 
     @Override
-    public void addOrModify(AppUpdate appUpdate) throws Exception {
-        AppUpdate updateEntity = updateRepository.findByIsDeleteFalseAndRepoName(appUpdate.getRepoName());
+    public void addOrModify(RepoConfig appUpdate) throws Exception {/*
+        RepoConfig updateEntity = updateRepository.findByIsDeleteFalseAndRepoName(appUpdate.getRepoName());
         if (updateEntity != null) {
             appUpdate.setId(updateEntity.getId());
             appUpdate.setCreateTime(updateEntity.getCreateTime());
             appUpdate.setUpdateTime(LocalDateTime.now());
         }
         appUpdate.setIsDelete(false);
-        updateRepository.save(appUpdate);
+        updateRepository.save(appUpdate);*/
     }
 
     @Override
-    public PageList<AppUpdate> getByPage(int page, int size) {
+    public PageList<RepoConfig> getByPage(int page, int size) {
         // 默认按更新时间倒序
         PageRequest pageRequest =
                 PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
-        Page<AppUpdate> appUpdates = updateRepository.findAll(pageRequest);
+        //Page<RepoConfig> appUpdates = updateRepository.findAll(pageRequest);
 
-        PageList<AppUpdate> pageList = new PageList<>();
-        pageList.setTotalSize(appUpdates.getTotalElements());
+        PageList<RepoConfig> pageList = new PageList<>();
+        /*pageList.setTotalSize(appUpdates.getTotalElements());
         pageList.setTotalPages(appUpdates.getTotalPages());
-        pageList.setList(appUpdates.getContent().stream().map(AppUpdate::vo).collect(Collectors.toList()));
+        pageList.setList(appUpdates.getContent().stream().map(RepoConfig::vo).collect(Collectors.toList()));*/
         return pageList;
     }
 
     @Override
     public void delete(String uniqueKey) throws Exception {
-        AppUpdate updateEntity = updateRepository.findByIsDeleteFalseAndRepoName(uniqueKey);
+        /*RepoConfig updateEntity = updateRepository.findByIsDeleteFalseAndRepoName(uniqueKey);
         if (updateEntity == null) {
             throw new Exception(uniqueKey + "不存在...");
         }
         updateEntity.setIsDelete(true);
-        updateRepository.save(updateEntity);
+        updateRepository.save(updateEntity);*/
     }
 }

+ 5 - 5
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/global/LocalDirCrudService.java

@@ -32,8 +32,8 @@ public class LocalDirCrudService implements CrudOps<LocalDir> {
         checkOrMkdir(localDir.getLocalDir());
 
         // 只做修改,不新增
-        String hostId = localDir.getHostId();
-        LocalDir localDirEntity = localDirRepository.findByHostId(hostId);
+        String hostId = localDir.getMachineId();
+        LocalDir localDirEntity = localDirRepository.findByMachineId(hostId);
         if (localDirEntity != null) {
             localDir.setId(localDirEntity.getId());
             localDir.setCreateTime(localDirEntity.getCreateTime());
@@ -42,9 +42,9 @@ public class LocalDirCrudService implements CrudOps<LocalDir> {
 
             localDirRepository.save(localDir);
 
-            SysConfig.localRepo = localDir.getLocalRepo();
-            SysConfig.compileDir = localDir.getCompileDir();
-            SysConfig.packDir = localDir.getPackDir();
+            SysConfig.localRepo = localDir.getLocalDir() + "/local-repo";
+            SysConfig.compileDir = localDir.getLocalDir() + "/compile-dir";
+            SysConfig.packDir = localDir.getLocalDir() + "/pack-dir";
         } else {
             throw new Exception(hostId + " 不存在...");
         }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/orchestarte/AppCrudService.java

@@ -49,7 +49,7 @@ public class AppCrudService implements CrudOps<AppOrchestration> {
             if (entity == null) {
                 throw new Exception("项目 " + appVO.getProjId() + " 不存在...");
             }
-            app.setProj(entity);
+            //app.setProj(entity);
         }
 
         AppOrchestration appEntity = appRepository.findByIsDeleteFalseAndAppId(app.getAppId());

+ 3 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/deploy/AppDeployer.java

@@ -53,7 +53,9 @@ public class AppDeployer {
 
         long startTime = System.currentTimeMillis();
         Map<String, Future<RPCResult>> futureMap = new HashMap<>();
-        for (MachineRegistry machine : deployConfig.getMachineRegistry()) {
+        Set<MachineRegistry> machineRegistries = new HashSet<>();
+        //for (MachineRegistry machine : deployConfig.getMachineRegistry()) {
+        for (MachineRegistry machine : machineRegistries) {
             futureMap.put(machine.getMachineId(),
                     threadPool.submit(new DeployTask(machine.getMachineId(), appDeployArgs)));
         }

+ 5 - 5
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/vo/orchestration/AppVO.java

@@ -32,17 +32,17 @@ public class AppVO {
         AppVO vo = new AppVO();
         vo.appId = app.getAppId();
         vo.description = app.getDescription();
-        vo.env = app.getEnv();
+        /*vo.env = app.getEnv();
         vo.appType = app.getAppType();
         vo.appRepo = app.getAppRepo();
         vo.branch = app.getBranch();
         vo.dirname = app.getDirname();
-        vo.compileDir = app.getCompileDir();
+        vo.compileDir = app.getCompileDir();*/
         vo.enable = app.isEnable();
         vo.alwaysBuild = app.isAlwaysBuild();
         /*vo.appDeploy = app.getAppDeploy();
         vo.appRunning = app.getAppRunning();*/
-        vo.notifier = app.getNotification().getNotifierName();
+        //vo.notifier = app.getNotification().getNotifierName();
         vo.appBuild = AppBuildVO.from(app.getBuildConfig());
         return vo;
     }
@@ -51,12 +51,12 @@ public class AppVO {
         AppOrchestration app = new AppOrchestration();
         app.setAppId(vo.appId);
         app.setDescription(vo.description);
-        app.setEnv(vo.env);
+        /*app.setEnv(vo.env);
         app.setAppType(vo.appType);
         app.setAppRepo(vo.appRepo);
         app.setBranch(vo.branch);
         app.setDirname(vo.dirname);
-        app.setCompileDir(vo.compileDir);
+        app.setCompileDir(vo.compileDir);*/
         app.setEnable(vo.enable);
         app.setAlwaysBuild(vo.alwaysBuild);
         /*app.setAppDeploy(vo.appDeploy);

+ 7 - 48
dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/AfterAppStart.java

@@ -3,7 +3,7 @@ package cn.reghao.autodop.dmaster.utils;
 import cn.reghao.autodop.common.utils.FileOps;
 import cn.reghao.autodop.common.utils.text.TextFile;
 import cn.reghao.autodop.dmaster.app.entity.LocalDir;
-import cn.reghao.autodop.dmaster.app.repository.build.AppCompileRepository;
+import cn.reghao.autodop.dmaster.app.repository.build.CompilerConfigRepository;
 import cn.reghao.autodop.dmaster.app.repository.orchestration.LocalDirRepository;
 import cn.reghao.autodop.dmaster.auth.service.UserService;
 import cn.reghao.autodop.dmaster.common.config.SysConfig;
@@ -26,28 +26,21 @@ import java.io.File;
 @Component
 public class AfterAppStart implements ApplicationRunner {
     private LocalDirRepository localDirRepository;
-    private AppCompileRepository compileRepository;
     private UserService userService;
 
-    public AfterAppStart(LocalDirRepository localDirRepository,
-                         AppCompileRepository compileRepository,
-                         UserService userService) {
+    public AfterAppStart(LocalDirRepository localDirRepository, UserService userService) {
         this.localDirRepository = localDirRepository;
-        this.compileRepository = compileRepository;
         this.userService = userService;
     }
 
     @Override
     public void run(ApplicationArguments args) {
         String hostId = new TextFile().read("/etc/machine-id").get(0);
-        LocalDir localDir = localDirRepository.findByHostId(hostId);
+        LocalDir localDir = localDirRepository.findByMachineId(hostId);
         if (localDir == null) {
             String home = System.getProperty("user.home");
             localDir = new LocalDir();
-            localDir.setHostId(hostId);
-            localDir.setLocalRepo(home + "/opt/data/autodop/local-repo");
-            localDir.setCompileDir(home + "/opt/data/autodop/compile-dir");
-            localDir.setPackDir(home + "/opt/data/autodop/pack-dir");
+            localDir.setMachineId(hostId);
             localDir.setIsDelete(false);
             localDirRepository.save(localDir);
         }
@@ -57,12 +50,11 @@ public class AfterAppStart implements ApplicationRunner {
 
     public void initialize(LocalDir localDir) {
         // TODO 放入缓存
-        SysConfig.localRepo = localDir.getLocalRepo();
-        SysConfig.compileDir = localDir.getCompileDir();
-        SysConfig.packDir = localDir.getPackDir();
+        SysConfig.localRepo = localDir + "/local-repo";
+        SysConfig.compileDir = localDir + "/compile-dir";
+        SysConfig.packDir = localDir + "/pack-dir";
         checkAndSetLocalDir();
         userService.checkOrSetAdmin();
-        //checkCompilerVersion();
     }
 
     /**
@@ -89,37 +81,4 @@ public class AfterAppStart implements ApplicationRunner {
             throw new IllegalArgumentException(packDir.getAbsolutePath() + " 不存在且创建失败...");
         }
     }
-
-    /**
-     * 检查编译器版本
-     *
-     * @param
-     * @return
-     * @date 2020-06-25 下午10:49
-     */
-    private void checkCompilerVersion() {
-        /*ShellExecutor shell = new ShellExecutor();
-        List<String> list = compileRepository.findAll().stream()
-                .filter(appCompile -> !"none".equalsIgnoreCase(appCompile.getCompilerType()))
-                .map(appCompile -> version(appCompile, shell))
-                .collect(Collectors.toList());
-
-        System.out.println();*/
-    }
-
-    /*private String version(AppCompile appCompile, ShellExecutor shell) {
-        String compilerHome = appCompile.getCompilerHome();
-        String versionCmd = appCompile.getVersionCmd();
-        ShellResult result = shell.execute(compilerHome + "/" + versionCmd, "");
-        if (result.hasError()) {
-            Map<String, List<String>> map = new HashMap<>();
-            map.put("stdout", result.getStdout());
-            map.put("stderr", result.getStderr());
-            return null;
-        } else {
-            StringBuilder sb = new StringBuilder();
-            result.getStdout().forEach(res -> sb.append(res).append(System.lineSeparator()));
-            return sb.toString();
-        }
-    }*/
 }