瀏覽代碼

优化包结构

reghao 4 年之前
父節點
當前提交
eaaaf82974
共有 37 個文件被更改,包括 99 次插入308 次删除
  1. 0 52
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/AppBakController.java
  2. 1 5
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/BuildDeployController.java
  3. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/page/BuildDeployLogPageController.java
  4. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/po/AppBuilding.java
  5. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/po/log/BuildLog.java
  6. 2 2
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/vo/CommitInfoVO.java
  7. 11 11
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/AppBuildSupplier.java
  8. 20 14
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/AppBuilder.java
  9. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/AppDeployer.java
  10. 12 14
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildDeployDispatcher.java
  11. 0 8
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildDeployLogService.java
  12. 0 91
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/impl/BuildDeployConfigServiceImpl.java
  13. 3 3
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/impl/BuildDeployServiceImpl.java
  14. 2 2
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/BuilderUtil.java
  15. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/CodeCompiler.java
  16. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/DockerCompiler.java
  17. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/MavenCompiler.java
  18. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/NullCompiler.java
  19. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/ShellCompiler.java
  20. 4 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/packer/CodePacker.java
  21. 11 3
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/packer/DockerPack.java
  22. 6 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/packer/ZipPack.java
  23. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/repo/ChangedFile.java
  24. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/repo/CodeUpdater.java
  25. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/repo/CommitInfo.java
  26. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/repo/GitImpl.java
  27. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/repo/SvnImpl.java
  28. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/controller/page/MachineHostPageController.java
  29. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/Keys.java
  30. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/WebSsh.java
  31. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/WebSshImpl.java
  32. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/ws/WebSocketConfig.java
  33. 3 3
      dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/ws/WebSocketHandlerImpl.java
  34. 2 2
      dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/ws/WebsocketInterceptor.java
  35. 0 43
      dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/controller/SysLogPageController.java
  36. 3 31
      dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/controller/SysPageController.java
  37. 0 3
      dmaster/src/main/java/cn/reghao/autodop/dmaster/util/UploadDownload.java

+ 0 - 52
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/AppBakController.java

@@ -1,52 +0,0 @@
-package cn.reghao.autodop.dmaster.app.controller;
-
-import cn.reghao.jdkutil.result.WebBody;
-import cn.reghao.jdkutil.serializer.JsonConverter;
-import cn.reghao.autodop.dmaster.app.model.po.config.AppConfig;
-import cn.reghao.autodop.dmaster.util.UploadDownload;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-
-/**
- * @author reghao
- * @date 2019-08-30 18:49:15
- */
-@Slf4j
-@Api(tags = "应用配置备份接口")
-@RestController
-@RequestMapping("/api/bak")
-public class AppBakController {
-    private final UploadDownload uploadDownload;
-
-    public AppBakController(UploadDownload uploadDownload) {
-        this.uploadDownload = uploadDownload;
-    }
-
-    @ApiOperation(value = "导出 JSON 数据")
-    @GetMapping("/config/app/export")
-    @ResponseBody
-    public void dataBackup(HttpServletResponse response) throws IOException {
-        String json = "";
-        ByteArrayInputStream bytesIn = new ByteArrayInputStream(json.getBytes());
-        BufferedInputStream bis = new BufferedInputStream(bytesIn);
-        uploadDownload.download("test", bis, response);
-    }
-
-    @ApiOperation(value = "导入 JSON 数据")
-    @PostMapping("/config/app/import")
-    public String dataRestore(@RequestParam("file") MultipartFile file) throws IOException {
-        byte[] bytes = file.getBytes();
-        String json = new String(bytes, StandardCharsets.UTF_8);
-        AppConfig app = JsonConverter.jsonToObject(json, AppConfig.class);
-        return WebBody.success();
-    }
-}

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

@@ -2,7 +2,6 @@ package cn.reghao.autodop.dmaster.app.controller;
 
 import cn.reghao.autodop.dmaster.app.service.BuildDeployService;
 import cn.reghao.jdkutil.result.WebBody;
-import cn.reghao.autodop.dmaster.app.service.impl.BuildDeployConfigServiceImpl;
 import cn.reghao.autodop.dmaster.app.service.BuildDeployDispatcher;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -23,13 +22,10 @@ import org.springframework.web.bind.annotation.*;
 public class BuildDeployController {
     private final BuildDeployService buildDeployService;
     private final BuildDeployDispatcher buildDeployDispatcher;
-    private final BuildDeployConfigServiceImpl buildService;
 
-    public BuildDeployController(BuildDeployService buildDeployService,
-                                 BuildDeployDispatcher buildDeployDispatcher, BuildDeployConfigServiceImpl buildService) {
+    public BuildDeployController(BuildDeployService buildDeployService, BuildDeployDispatcher buildDeployDispatcher) {
         this.buildDeployService = buildDeployService;
         this.buildDeployDispatcher = buildDeployDispatcher;
-        this.buildService = buildService;
     }
 
     @ApiOperation(value = "构建部署应用")

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

@@ -8,7 +8,7 @@ import cn.reghao.autodop.dmaster.app.model.vo.AppBuildingVO;
 import cn.reghao.autodop.dmaster.app.model.vo.BuildConfig;
 import cn.reghao.autodop.dmaster.app.model.vo.BuildLogVO;
 import cn.reghao.autodop.dmaster.app.model.vo.CommitInfoVO;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CommitInfo;
+import cn.reghao.autodop.dmaster.app.util.buildtool.repo.CommitInfo;
 import cn.reghao.autodop.dmaster.app.service.page.BuildDeployLogPage;
 import cn.reghao.autodop.dmaster.app.service.page.BuildDeployPage;
 import cn.reghao.autodop.dmaster.util.db.PageList;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/po/AppBuilding.java

@@ -3,7 +3,7 @@ package cn.reghao.autodop.dmaster.app.model.po;
 import cn.reghao.jdkutil.result.ResultStatus;
 import cn.reghao.autodop.dmaster.app.model.po.config.AppConfig;
 import cn.reghao.autodop.dmaster.app.model.po.log.BuildLog;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CommitInfo;
+import cn.reghao.autodop.dmaster.app.util.buildtool.repo.CommitInfo;
 import cn.reghao.autodop.dmaster.util.db.BaseEntity;
 import cn.reghao.jdkutil.converter.DateTimeConverter;
 import lombok.*;

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

@@ -2,7 +2,7 @@ package cn.reghao.autodop.dmaster.app.model.po.log;
 
 import cn.reghao.jdkutil.result.Result;
 import cn.reghao.autodop.dmaster.app.model.po.config.AppConfig;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CommitInfo;
+import cn.reghao.autodop.dmaster.app.util.buildtool.repo.CommitInfo;
 import cn.reghao.autodop.dmaster.app.model.vo.BuildConfig;
 import cn.reghao.autodop.dmaster.rbac.UserContext;
 import cn.reghao.autodop.dmaster.util.db.BaseDocument;

+ 2 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/model/vo/CommitInfoVO.java

@@ -1,7 +1,7 @@
 package cn.reghao.autodop.dmaster.app.model.vo;
 
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.ChangedFile;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CommitInfo;
+import cn.reghao.autodop.dmaster.app.util.buildtool.repo.ChangedFile;
+import cn.reghao.autodop.dmaster.app.util.buildtool.repo.CommitInfo;
 import cn.reghao.jdkutil.converter.DateTimeConverter;
 import lombok.Data;
 

+ 11 - 11
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildSupplier.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/AppBuildSupplier.java

@@ -3,8 +3,7 @@ package cn.reghao.autodop.dmaster.app.service;
 import cn.reghao.jdkutil.result.ResultStatus;
 import cn.reghao.autodop.common.util.ExceptionUtil;
 import cn.reghao.autodop.dmaster.app.model.po.log.BuildLog;
-import cn.reghao.autodop.dmaster.app.service.bd.AppIntegrate;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CommitInfo;
+import cn.reghao.autodop.dmaster.app.util.buildtool.repo.CommitInfo;
 
 import java.time.LocalDateTime;
 import java.util.function.Supplier;
@@ -15,30 +14,31 @@ import java.util.function.Supplier;
  * @author reghao
  * @date 2021-05-22 13:28:31
  */
-public class BuildSupplier implements Supplier<BuildLog> {
-    private AppIntegrate appIntegrate;
-    private BuildLog buildLog;
+public class AppBuildSupplier implements Supplier<BuildLog> {
+    private final AppBuilder appBuilder;
+    private final BuildLog buildLog;
 
-    public BuildSupplier(AppIntegrate appIntegrate) {
-        this.appIntegrate = appIntegrate;
+    public AppBuildSupplier(AppBuilder appBuilder) {
+        this.appBuilder = appBuilder;
         // 由于是异步构建,从 UserContext 中获取当前用户必须是在请求所在的线程
-        this.buildLog = BuildLog.from(appIntegrate.app());
+        this.buildLog = BuildLog.from(appBuilder.app());
     }
 
     @Override
     public BuildLog get() {
         long start = System.currentTimeMillis();
         try {
-            CommitInfo commitInfo = appIntegrate.update();
+            CommitInfo commitInfo = appBuilder.update();
             buildLog.setCommitInfo(commitInfo);
             buildLog.getBuildTime().setUpdateTotalTime(System.currentTimeMillis()-start);
 
             start = System.currentTimeMillis();
-            appIntegrate.compile();
+            appBuilder.compile();
             buildLog.getBuildTime().setCompileTotalTime(System.currentTimeMillis()-start);
 
             start = System.currentTimeMillis();
-            String packagePath = appIntegrate.pack();
+            String localPath = appBuilder.pack();
+            String packagePath = appBuilder.push(localPath);
             buildLog.setPackagePath(packagePath);
             buildLog.getBuildTime().setPackTotalTime(System.currentTimeMillis()-start);
         } catch (Exception e) {

+ 20 - 14
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/AppIntegrate.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/AppBuilder.java

@@ -1,5 +1,6 @@
-package cn.reghao.autodop.dmaster.app.service.bd;
+package cn.reghao.autodop.dmaster.app.service;
 
+import cn.reghao.autodop.common.docker.DockerException;
 import cn.reghao.autodop.common.msg.rpc.dto.app.PackType;
 import cn.reghao.autodop.dmaster.app.model.constant.build.CompileType;
 import cn.reghao.autodop.dmaster.app.model.constant.build.RepoType;
@@ -7,18 +8,19 @@ import cn.reghao.autodop.dmaster.app.model.po.config.build.CompilerConfig;
 import cn.reghao.autodop.dmaster.app.model.po.config.build.PackerConfig;
 import cn.reghao.autodop.dmaster.app.model.po.config.build.RepoAuthConfig;
 import cn.reghao.autodop.dmaster.app.model.po.config.AppConfig;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.compiler.CodeCompiler;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.compiler.MavenCompiler;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.compiler.NullCompiler;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.compiler.ShellCompiler;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.packer.CodePacker;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.packer.DockerPack;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.packer.ZipPack;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CodeUpdater;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.CommitInfo;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.GitImpl;
-import cn.reghao.autodop.dmaster.app.service.bd.tools.repo.SvnImpl;
+import cn.reghao.autodop.dmaster.app.util.buildtool.compiler.CodeCompiler;
+import cn.reghao.autodop.dmaster.app.util.buildtool.compiler.MavenCompiler;
+import cn.reghao.autodop.dmaster.app.util.buildtool.compiler.NullCompiler;
+import cn.reghao.autodop.dmaster.app.util.buildtool.compiler.ShellCompiler;
+import cn.reghao.autodop.dmaster.app.util.buildtool.packer.CodePacker;
+import cn.reghao.autodop.dmaster.app.util.buildtool.packer.DockerPack;
+import cn.reghao.autodop.dmaster.app.util.buildtool.packer.ZipPack;
+import cn.reghao.autodop.dmaster.app.util.buildtool.repo.CodeUpdater;
+import cn.reghao.autodop.dmaster.app.util.buildtool.repo.CommitInfo;
+import cn.reghao.autodop.dmaster.app.util.buildtool.repo.GitImpl;
+import cn.reghao.autodop.dmaster.app.util.buildtool.repo.SvnImpl;
 import cn.reghao.autodop.dmaster.app.model.po.config.build.LocalBuildDir;
+import cn.reghao.autodop.dmaster.app.util.BuilderUtil;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -30,7 +32,7 @@ import lombok.extern.slf4j.Slf4j;
  * @date 2019-10-09 10:54:43
  */
 @Slf4j
-public class AppIntegrate {
+public class AppBuilder {
     private String appLocalRepo;
     private String appCompileDir;
     // TODO 应用二进制文件存储到本地时使用
@@ -44,7 +46,7 @@ public class AppIntegrate {
     private CodeCompiler codeCompiler;
     private CodePacker codePacker;
 
-    public AppIntegrate(AppConfig app) {
+    public AppBuilder(AppConfig app) {
         this.app = app;
         init();
     }
@@ -173,6 +175,10 @@ public class AppIntegrate {
         return codePacker.pack(app.getAppId(), latestCommitInfo.getCommitId(), compileDir());
     }
 
+    public String push(String localPath) throws DockerException {
+        return codePacker.push(localPath);
+    }
+
     private String compileDir() {
         return "/".equals(app.getCompileHome()) ? appCompileDir : appCompileDir + app.getCompileHome();
     }

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

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd;
+package cn.reghao.autodop.dmaster.app.service;
 
 import cn.reghao.autodop.common.msg.Message;
 import cn.reghao.autodop.common.msg.MsgQueue;

+ 12 - 14
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/BuildDeployDispatcher.java

@@ -11,8 +11,6 @@ import cn.reghao.autodop.dmaster.app.model.po.AppDeploying;
 import cn.reghao.autodop.dmaster.app.model.po.log.*;
 import cn.reghao.autodop.dmaster.spring.interceptor.AppIntegrateReinitInterceptor;
 import cn.reghao.autodop.dmaster.app.db.repository.log.BuildLogRepository;
-import cn.reghao.autodop.dmaster.app.service.bd.AppIntegrate;
-import cn.reghao.autodop.dmaster.app.service.bd.AppDeployer;
 import cn.reghao.autodop.dmaster.app.model.po.config.AppConfig;
 import cn.reghao.autodop.dmaster.notification.model.vo.BuildNotifyMsg;
 import cn.reghao.autodop.dmaster.notification.model.po.NotifyGroup;
@@ -37,20 +35,20 @@ import java.util.concurrent.*;
 @Slf4j
 @Service
 public class BuildDeployDispatcher {
-    private AppBuildingQuery appBuildingQuery;
-    private AppBuildingCrud appBuildingCrud;
-    private AppDeployingQuery appDeployingQuery;
-    private AppDeployingCrud appDeployingCrud;
-    private BuildLogRepository buildLogRepository;
+    private final AppBuildingQuery appBuildingQuery;
+    private final AppBuildingCrud appBuildingCrud;
+    private final AppDeployingQuery appDeployingQuery;
+    private final AppDeployingCrud appDeployingCrud;
+    private final BuildLogRepository buildLogRepository;
     private AppIntegrateReinitInterceptor reinitInterceptor;
     // TODO 多线程访问的集合
     private Set<String> onBuilding = new ConcurrentSkipListSet<>();
     private Set<String> onDeploying = new ConcurrentSkipListSet<>();
-    private Map<String, AppIntegrate> integrateMap = new ConcurrentHashMap<>();
-    private AppConfigQuery appConfigQuery;
-    private ExecutorService threadPool;
-    private AppDeployer appDeployer;
-    private NotifyService notifyService;
+    private Map<String, AppBuilder> integrateMap = new ConcurrentHashMap<>();
+    private final AppConfigQuery appConfigQuery;
+    private final ExecutorService threadPool;
+    private final AppDeployer appDeployer;
+    private final NotifyService notifyService;
 
     public BuildDeployDispatcher(AppBuildingQuery appBuildingQuery, AppBuildingCrud appBuildingCrud,
                                  AppDeployingQuery appDeployingQuery, AppDeployingCrud appDeployingCrud,
@@ -99,9 +97,9 @@ public class BuildDeployDispatcher {
             onBuilding.remove(appId);
             throw new Exception(appId + " 不存在");
         }
-        AppIntegrate appIntegrate = new AppIntegrate(app);
+        AppBuilder appIntegrate = new AppBuilder(app);
 
-        BuildSupplier supplier = new BuildSupplier(appIntegrate);
+        AppBuildSupplier supplier = new AppBuildSupplier(appIntegrate);
         //List<NotifyGroup> notifyGroups = app.getNotifyGroups();
         log.info("开始异步构建 {}", appId);
         CompletableFuture.supplyAsync(supplier, threadPool)

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

@@ -1,8 +0,0 @@
-package cn.reghao.autodop.dmaster.app.service;
-
-/**
- * @author reghao
- * @date 2021-09-17 11:30:16
- */
-public interface BuildDeployLogService {
-}

+ 0 - 91
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/impl/BuildDeployConfigServiceImpl.java

@@ -1,91 +0,0 @@
-package cn.reghao.autodop.dmaster.app.service.impl;
-
-import cn.reghao.autodop.dmaster.app.db.crud.AppBuildingCrud;
-import cn.reghao.autodop.dmaster.app.db.query.AppBuildingQuery;
-import cn.reghao.autodop.dmaster.app.db.query.config.AppConfigQuery;
-import cn.reghao.autodop.dmaster.app.db.query.config.AppDeployConfigQuery;
-import cn.reghao.autodop.dmaster.app.model.po.AppBuilding;
-import cn.reghao.autodop.dmaster.app.model.po.config.AppConfig;
-import cn.reghao.autodop.dmaster.app.db.repository.AppDeployingRepository;
-import cn.reghao.autodop.dmaster.app.db.repository.AppRunningRepository;
-import org.springframework.stereotype.Service;
-
-/**
- * @author reghao
- * @date 2021-06-04 10:01:41
- */
-@Deprecated
-@Service
-public class BuildDeployConfigServiceImpl {
-    private AppConfigQuery appConfigQuery;
-    private AppBuildingQuery appBuildingQuery;
-    private AppBuildingCrud appBuildingCrud;
-    private AppDeployingRepository deployingRepository;
-    private AppRunningRepository runningRepository;
-    private AppDeployConfigQuery deployConfigQuery;
-
-    public BuildDeployConfigServiceImpl(AppConfigQuery appConfigQuery, AppBuildingQuery appBuildingQuery,
-                                        AppBuildingCrud appBuildingCrud, AppDeployingRepository deployingRepository,
-                                        AppRunningRepository runningRepository, AppDeployConfigQuery deployConfigQuery) {
-        this.appConfigQuery = appConfigQuery;
-        this.deployingRepository = deployingRepository;
-        this.runningRepository = runningRepository;
-        this.appBuildingQuery = appBuildingQuery;
-        this.appBuildingCrud = appBuildingCrud;
-        this.deployConfigQuery = deployConfigQuery;
-    }
-
-    /**
-     * 刷新应用构建信息
-     *
-     * @param
-     * @return
-     * @date 2021-06-18 下午5:24
-     */
-    public void refreshAppBuilding(AppConfig app) {
-        AppBuilding appBuilding = appBuildingQuery.findByAppId(app.getAppId());
-        if (appBuilding == null) {
-            appBuilding = new AppBuilding(app);
-        } else {
-            //appBuilding.refresh(app);
-        }
-        appBuildingCrud.save(appBuilding);
-    }
-
-    /**
-     * 刷新应用部署信息
-     *
-     * @param
-     * @return
-     * @date 2021-06-18 下午5:25
-     */
-    public void refreshAppDeploying(AppConfig app) {
-    }
-
-    /**
-     * 刷新应用运行信息
-     *
-     * @param
-     * @return
-     * @date 2021-06-18 下午5:29
-     */
-    public void refreshAppRunning(AppConfig app) {
-    }
-
-    public void delete(String appId) {
-        AppBuilding appBuilding = appBuildingQuery.findByAppId(appId);
-        if (appBuilding != null) {
-            appBuildingCrud.delete(appBuilding);
-        }
-
-        /*List<AppDeploying> appDeployings = deployingRepository.findByAppId(appId);
-        if (!appDeployings.isEmpty()) {
-            deployingRepository.deleteAll(appDeployings);
-        }
-
-        List<AppRunning> appRunnings = runningRepository.findByAppId(appId);
-        if (!appRunnings.isEmpty()) {
-            runningRepository.deleteAll(appRunnings);
-        }*/
-    }
-}

+ 3 - 3
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/impl/BuildDeployServiceImpl.java

@@ -6,8 +6,8 @@ import cn.reghao.autodop.dmaster.app.db.repository.AppBuildingRepository;
 import cn.reghao.autodop.dmaster.app.db.repository.AppDeployingRepository;
 import cn.reghao.autodop.dmaster.app.db.repository.log.BuildLogRepository;
 import cn.reghao.autodop.dmaster.app.service.BuildDeployService;
-import cn.reghao.autodop.dmaster.app.service.bd.AppDeployer;
-import cn.reghao.autodop.dmaster.app.service.bd.AppIntegrate;
+import cn.reghao.autodop.dmaster.app.service.AppDeployer;
+import cn.reghao.autodop.dmaster.app.service.AppBuilder;
 import cn.reghao.autodop.dmaster.notification.service.NotifyService;
 import cn.reghao.autodop.dmaster.spring.interceptor.AppIntegrateReinitInterceptor;
 import org.springframework.stereotype.Service;
@@ -31,7 +31,7 @@ public class BuildDeployServiceImpl implements BuildDeployService {
     // TODO 多线程访问的集合
     private Set<String> onBuilding = new ConcurrentSkipListSet<>();
     private Set<String> onDeploying = new ConcurrentSkipListSet<>();
-    private Map<String, AppIntegrate> integrateMap = new ConcurrentHashMap<>();
+    private Map<String, AppBuilder> integrateMap = new ConcurrentHashMap<>();
     private AppConfigQuery appConfigQuery;
     private ExecutorService threadPool;
     private AppDeployer appDeployer;

+ 2 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/BuilderUtil.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/BuilderUtil.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd;
+package cn.reghao.autodop.dmaster.app.util;
 
 import cn.reghao.autodop.common.util.FileOps;
 import cn.reghao.autodop.common.util.text.ReplaceCharacter;
@@ -34,7 +34,7 @@ public class BuilderUtil {
         String dirname = app.getCodeDirname();
         FileOps.copyDirContentToDir(appLocalRepo + "/" + dirname, appCompileDir);
 
-        // Dotnet 应用需要额外的处理
+        // TODO Dotnet 应用需要额外的处理
         if (app.getAppType().equals(AppType.dotnetCore.name())) {
             // Dotnet 应用需要替换一些字符
             BuilderUtil.replaceCharacter(appCompileDir);

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/compiler/CodeCompiler.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/CodeCompiler.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.compiler;
+package cn.reghao.autodop.dmaster.app.util.buildtool.compiler;
 
 /**
  * 编译代码

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/compiler/DockerCompiler.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/DockerCompiler.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.compiler;
+package cn.reghao.autodop.dmaster.app.util.buildtool.compiler;
 
 import cn.reghao.autodop.dmaster.app.model.po.config.build.CompilerConfig;
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/compiler/MavenCompiler.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/MavenCompiler.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.compiler;
+package cn.reghao.autodop.dmaster.app.util.buildtool.compiler;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.maven.shared.invoker.*;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/compiler/NullCompiler.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/NullCompiler.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.compiler;
+package cn.reghao.autodop.dmaster.app.util.buildtool.compiler;
 
 /**
  * 空编译器

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/compiler/ShellCompiler.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/ShellCompiler.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.compiler;
+package cn.reghao.autodop.dmaster.app.util.buildtool.compiler;
 
 import cn.reghao.autodop.common.util.shell.ShellExecutor;
 import cn.reghao.autodop.common.util.shell.ShellResult;

+ 4 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/packer/CodePacker.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/packer/CodePacker.java

@@ -1,4 +1,6 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.packer;
+package cn.reghao.autodop.dmaster.app.util.buildtool.packer;
+
+import cn.reghao.autodop.common.docker.DockerException;
 
 /**
  * 打包应用
@@ -19,4 +21,5 @@ public interface CodePacker {
      * @date 2020-01-21 下午4:19
      */
     String pack(String appId, String commitId, String appCompileHome) throws Exception;
+    String push(String localPath) throws DockerException;
 }

+ 11 - 3
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/packer/DockerPack.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/packer/DockerPack.java

@@ -1,6 +1,7 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.packer;
+package cn.reghao.autodop.dmaster.app.util.buildtool.packer;
 
 import cn.reghao.autodop.common.docker.Docker;
+import cn.reghao.autodop.common.docker.DockerException;
 import cn.reghao.autodop.dmaster.app.model.po.config.build.PackerConfig;
 import lombok.extern.slf4j.Slf4j;
 
@@ -27,9 +28,16 @@ public class DockerPack implements CodePacker {
             String image = repo + ":" + commitId;
 
             docker.build(image, appCompileHome, dockerfile);
-            // TODO push 没有报错,但有时 pull 会提示 image 不存在
-            docker.push(image);
             return image;
         }
     }
+
+    @Override
+    public String push(String localPath) throws DockerException {
+        try (Docker docker = new Docker()) {
+            // TODO push 没有报错,但有时 pull 会提示 image 不存在
+            docker.push(localPath);
+            return localPath;
+        }
+    }
 }

+ 6 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/packer/ZipPack.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/packer/ZipPack.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.packer;
+package cn.reghao.autodop.dmaster.app.util.buildtool.packer;
 
 import cn.reghao.autodop.common.msg.rpc.dto.app.PackType;
 import cn.reghao.autodop.common.util.compression.ZipFiles;
@@ -32,4 +32,9 @@ public class ZipPack implements CodePacker {
 
         return String.format("http://localhost:4020/api/sys/package/%s", filename);
     }
+
+    @Override
+    public String push(String localPath) {
+        return localPath;
+    }
 }

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

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

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/tools/repo/CodeUpdater.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/repo/CodeUpdater.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.repo;
+package cn.reghao.autodop.dmaster.app.util.buildtool.repo;
 
 /**
  * 更新代码

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

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

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

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.repo;
+package cn.reghao.autodop.dmaster.app.util.buildtool.repo;
 
 import cn.reghao.autodop.dmaster.app.model.constant.build.RepoAuthType;
 import cn.reghao.autodop.dmaster.app.model.po.config.build.RepoAuthConfig;

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

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.bd.tools.repo;
+package cn.reghao.autodop.dmaster.app.util.buildtool.repo;
 
 import cn.reghao.autodop.dmaster.app.model.po.config.build.RepoAuthConfig;
 import org.tmatesoft.svn.core.*;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/controller/page/MachineHostPageController.java

@@ -9,7 +9,7 @@ import cn.reghao.autodop.dmaster.machine.model.vo.MachineHostVO;
 import cn.reghao.autodop.dmaster.machine.model.vo.MachineInfoVO;
 import cn.reghao.autodop.dmaster.machine.model.vo.MachineSshAuth;
 import cn.reghao.autodop.dmaster.machine.service.page.MachineHostPage;
-import cn.reghao.autodop.dmaster.machine.service.ssh.Keys;
+import cn.reghao.autodop.dmaster.machine.util.ssh.Keys;
 import cn.reghao.autodop.dmaster.util.db.PageList;
 import cn.reghao.autodop.dmaster.util.db.PageSort;
 import io.swagger.annotations.Api;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/service/ssh/Keys.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/Keys.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.machine.service.ssh;
+package cn.reghao.autodop.dmaster.machine.util.ssh;
 
 /**
  * @author reghao

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/service/ssh/WebSsh.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/WebSsh.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.machine.service.ssh;
+package cn.reghao.autodop.dmaster.machine.util.ssh;
 
 import org.springframework.web.socket.WebSocketSession;
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/service/ssh/WebSshImpl.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/WebSshImpl.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.machine.service.ssh;
+package cn.reghao.autodop.dmaster.machine.util.ssh;
 
 import cn.reghao.jdkutil.serializer.JsonConverter;
 import cn.reghao.autodop.common.util.thread.ThreadPoolWrapper;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/service/ssh/ws/WebSocketConfig.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/ws/WebSocketConfig.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.machine.service.ssh.ws;
+package cn.reghao.autodop.dmaster.machine.util.ssh.ws;
 
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.socket.WebSocketHandler;

+ 3 - 3
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/service/ssh/ws/WebSocketHandlerImpl.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/ws/WebSocketHandlerImpl.java

@@ -1,7 +1,7 @@
-package cn.reghao.autodop.dmaster.machine.service.ssh.ws;
+package cn.reghao.autodop.dmaster.machine.util.ssh.ws;
 
-import cn.reghao.autodop.dmaster.machine.service.ssh.Keys;
-import cn.reghao.autodop.dmaster.machine.service.ssh.WebSsh;
+import cn.reghao.autodop.dmaster.machine.util.ssh.Keys;
+import cn.reghao.autodop.dmaster.machine.util.ssh.WebSsh;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.web.socket.*;

+ 2 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/service/ssh/ws/WebsocketInterceptor.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/util/ssh/ws/WebsocketInterceptor.java

@@ -1,6 +1,6 @@
-package cn.reghao.autodop.dmaster.machine.service.ssh.ws;
+package cn.reghao.autodop.dmaster.machine.util.ssh.ws;
 
-import cn.reghao.autodop.dmaster.machine.service.ssh.Keys;
+import cn.reghao.autodop.dmaster.machine.util.ssh.Keys;
 import org.springframework.http.server.ServerHttpRequest;
 import org.springframework.http.server.ServerHttpResponse;
 import org.springframework.http.server.ServletServerHttpRequest;

+ 0 - 43
dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/controller/SysLogPageController.java

@@ -1,43 +0,0 @@
-package cn.reghao.autodop.dmaster.sys.controller;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author reghao
- * @date 2021-04-04 21:24:18
- */
-@Api(tags = "日志页面")
-@RequestMapping("/sys/log")
-@Controller
-public class SysLogPageController {
-    @ApiOperation(value = "运行日志页面")
-    @GetMapping("/runtime")
-    public String runtimeLogPage(Model model) {
-        return "/sys/log/runtime";
-    }
-
-    @GetMapping("/runtime/detail/{machineId}/{appId}")
-    public String runtimeLogDeatilPage(@PathVariable("machineId") String machineId,
-                                       @PathVariable("appId") String appId,
-                                       Model model) {
-        return "/sys/log/runtimeinfo";
-    }
-
-    @GetMapping("/runtime/detail/{machineId}/{appId}/{yearMonthDay}")
-    public String apRruntimeLogDeatilPage(@PathVariable("machineId") String machineId,
-                                       @PathVariable("appId") String appId,
-                                       @PathVariable("yearMonthDay") String yearMonthDay,
-                                       Model model) {
-        return "/sys/log/runtimedetail";
-    }
-
-    @ApiOperation(value = "访问日志页面")
-    @GetMapping("/access")
-    public String accessLogPage(Model model) {
-        return "/sys/log/access";
-    }
-}

+ 3 - 31
dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/controller/SysPageController.java

@@ -6,8 +6,6 @@ import cn.reghao.autodop.common.util.jvm.po.JvmStat;
 import cn.reghao.autodop.dmaster.sys.db.query.SysEnvQuery;
 import cn.reghao.autodop.dmaster.sys.model.SysEnv;
 import cn.reghao.autodop.dmaster.util.db.PageList;
-import cn.reghao.jdkutil.result.WebBody;
-import cn.reghao.autodop.dmaster.util.UploadDownload;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Page;
@@ -15,12 +13,7 @@ import org.springframework.data.domain.PageImpl;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
 
-import javax.servlet.http.HttpServletResponse;
-import java.io.*;
-import java.nio.charset.StandardCharsets;
-import java.util.Collections;
 import java.util.List;
 
 /**
@@ -31,12 +24,10 @@ import java.util.List;
 @RequestMapping("/sys")
 @Controller
 public class SysPageController {
-    private UploadDownload uploadDownload;
-    private JVM jvm;
-    private SysEnvQuery sysEnvQuery;
+    private final SysEnvQuery sysEnvQuery;
+    private final JVM jvm;
 
-    public SysPageController(UploadDownload uploadDownload, SysEnvQuery sysEnvQuery) {
-        this.uploadDownload = uploadDownload;
+    public SysPageController(SysEnvQuery sysEnvQuery) {
         this.sysEnvQuery = sysEnvQuery;
         this.jvm = new JVM();
     }
@@ -62,23 +53,4 @@ public class SysPageController {
         model.addAttribute("jvmStat", jvmStat);
         return "/sys/jvmstatus";
     }
-
-    @ApiOperation(value = "数据备份")
-    @GetMapping("/bak/export")
-    @ResponseBody
-    public void dataBackup(HttpServletResponse response) throws IOException {
-        String json = "test data";
-        ByteArrayInputStream bytesIn = new ByteArrayInputStream(json.getBytes());
-        BufferedInputStream bis = new BufferedInputStream(bytesIn);
-        uploadDownload.download("test1", bis, response);
-    }
-
-    @ApiOperation(value = "数据还原")
-    @PostMapping("/bak/import")
-    @ResponseBody
-    public String dataRestore(@RequestParam("file") MultipartFile file) throws IOException {
-        byte[] bytes = file.getBytes();
-        String json = new String(bytes, StandardCharsets.UTF_8);
-        return WebBody.success();
-    }
 }

+ 0 - 3
dmaster/src/main/java/cn/reghao/autodop/dmaster/util/UploadDownload.java

@@ -13,9 +13,6 @@ import java.nio.charset.StandardCharsets;
  */
 @Service
 public class UploadDownload {
-    public void upload() {
-    }
-
     public void download(File file, HttpServletResponse response) throws IOException {
         String filename = file.getName();
         prepareResponse(filename, response);