Procházet zdrojové kódy

精简 mgr/build 模块

reghao před 6 měsíci
rodič
revize
6b2fe43b73
24 změnil soubory, kde provedl 144 přidání a 293 odebrání
  1. 0 35
      mgr/src/main/java/cn/reghao/devops/mgr/build/controller/BuildDirController.java
  2. 12 13
      mgr/src/main/java/cn/reghao/devops/mgr/build/controller/BuildDirPageController.java
  3. 0 45
      mgr/src/main/java/cn/reghao/devops/mgr/build/controller/CompilerConfigController.java
  4. 24 4
      mgr/src/main/java/cn/reghao/devops/mgr/build/controller/CompilerPageController.java
  5. 0 44
      mgr/src/main/java/cn/reghao/devops/mgr/build/controller/DockerRegistryController.java
  6. 32 8
      mgr/src/main/java/cn/reghao/devops/mgr/build/controller/DockerRegistryPageController.java
  7. 0 45
      mgr/src/main/java/cn/reghao/devops/mgr/build/controller/PackerConfigController.java
  8. 31 6
      mgr/src/main/java/cn/reghao/devops/mgr/build/controller/PackerPageController.java
  9. 0 45
      mgr/src/main/java/cn/reghao/devops/mgr/build/controller/RepoAuthConfigController.java
  10. 29 5
      mgr/src/main/java/cn/reghao/devops/mgr/build/controller/RepoAuthPageController.java
  11. 0 27
      mgr/src/main/java/cn/reghao/devops/mgr/build/model/vo/CommitInfoVO.java
  12. 4 4
      mgr/src/main/resources/templates/devops/build/builddir.html
  13. 1 1
      mgr/src/main/resources/templates/devops/build/compiler/add.html
  14. 1 1
      mgr/src/main/resources/templates/devops/build/compiler/edit.html
  15. 1 1
      mgr/src/main/resources/templates/devops/build/compiler/index.html
  16. 1 1
      mgr/src/main/resources/templates/devops/build/docker/add.html
  17. 1 1
      mgr/src/main/resources/templates/devops/build/docker/edit.html
  18. 1 1
      mgr/src/main/resources/templates/devops/build/docker/index.html
  19. 1 1
      mgr/src/main/resources/templates/devops/build/packer/add.html
  20. 1 1
      mgr/src/main/resources/templates/devops/build/packer/edit.html
  21. 1 1
      mgr/src/main/resources/templates/devops/build/packer/index.html
  22. 1 1
      mgr/src/main/resources/templates/devops/build/repoauth/add.html
  23. 1 1
      mgr/src/main/resources/templates/devops/build/repoauth/edit.html
  24. 1 1
      mgr/src/main/resources/templates/devops/build/repoauth/index.html

+ 0 - 35
mgr/src/main/java/cn/reghao/devops/mgr/build/controller/BuildDirController.java

@@ -1,35 +0,0 @@
-package cn.reghao.devops.mgr.build.controller;
-
-import cn.reghao.devops.mgr.build.service.BuildDirService;
-import cn.reghao.jutil.jdk.result.Result;
-import cn.reghao.jutil.jdk.result.WebResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.http.MediaType;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author reghao
- * @date 2019-08-30 18:49:15
- */
-@Slf4j
-@Api(tags = "构建目录配置接口")
-@RestController
-@RequestMapping("/api/build/dir")
-public class BuildDirController {
-    private final BuildDirService buildDirService;
-
-    public BuildDirController(BuildDirService buildDirService) {
-        this.buildDirService = buildDirService;
-    }
-
-    @ApiOperation(value = "清空构建目录", notes = "N")
-    @PreAuthorize("hasRole('ROLE_ADMIN')")
-    @PostMapping(value = "/erase", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String emptyBuildDir() {
-        Result result = buildDirService.erase();
-        return WebResult.result(result);
-    }
-}

+ 12 - 13
mgr/src/main/java/cn/reghao/devops/mgr/build/controller/page/BuildDirPageController.java → mgr/src/main/java/cn/reghao/devops/mgr/build/controller/BuildDirPageController.java

@@ -1,19 +1,24 @@
-package cn.reghao.devops.mgr.build.controller.page;
+package cn.reghao.devops.mgr.build.controller;
 
 import cn.reghao.devops.mgr.build.model.po.BuildDir;
 import cn.reghao.devops.mgr.util.PageSort;
 import cn.reghao.devops.mgr.build.service.BuildDirService;
+import cn.reghao.jutil.jdk.result.Result;
+import cn.reghao.jutil.web.WebResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
+import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.util.List;
 
@@ -47,18 +52,12 @@ public class BuildDirPageController {
         return "/devops/build/builddir";
     }
 
-    @ApiOperation(value = "构建目录所在磁盘容量详情页面", notes = "N")
+    @ApiOperation(value = "清空构建目录", notes = "N")
     @PreAuthorize("hasRole('ROLE_ADMIN')")
-    @GetMapping("/usage")
-    public String usagePage(Model model) {
-        BuildDir buildDir = buildDirService.get();
-        List<BuildDir> list = List.of(buildDir);
-
-        PageRequest pageRequest = PageSort.pageRequest();
-        Page<BuildDir> page = new PageImpl<>(list, pageRequest, list.size());
-
-        model.addAttribute("page", page);
-        model.addAttribute("list", list);
-        return "/devops/build/builddir";
+    @PostMapping(value = "/erase", produces = MediaType.APPLICATION_JSON_VALUE)
+    @ResponseBody
+    public String emptyBuildDir() {
+        Result result = buildDirService.erase();
+        return WebResult.result(result);
     }
 }

+ 0 - 45
mgr/src/main/java/cn/reghao/devops/mgr/build/controller/CompilerConfigController.java

@@ -1,45 +0,0 @@
-package cn.reghao.devops.mgr.build.controller;
-
-import cn.reghao.devops.mgr.build.model.po.CompilerConfig;
-import cn.reghao.devops.mgr.build.service.CompilerConfigService;
-import cn.reghao.jutil.jdk.result.Result;
-import cn.reghao.jutil.jdk.result.WebResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.http.MediaType;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author reghao
- * @date 2019-08-30 18:49:15
- */
-@Slf4j
-@Api(tags = "应用编译配置接口")
-@RestController
-@RequestMapping("/api/build/compiler")
-public class CompilerConfigController {
-    private final CompilerConfigService compilerConfigService;
-
-    public CompilerConfigController(CompilerConfigService compilerConfigService) {
-        this.compilerConfigService = compilerConfigService;
-    }
-
-    @ApiOperation(value = "添加/修改应用编译配置", notes = "N")
-    @PreAuthorize("hasRole('ROLE_ADMIN')")
-    @PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addOrUpdateCompileConfig(@Validated CompilerConfig compilerConfig) {
-        Result result = compilerConfigService.addOrUpdate(compilerConfig);
-        return WebResult.result(result);
-    }
-
-    @ApiOperation(value = "删除应用编译配置", notes = "N")
-    @PreAuthorize("hasRole('ROLE_ADMIN')")
-    @DeleteMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteCompileConfig(@PathVariable("id") int id) {
-        Result result = compilerConfigService.delete(id);
-        return WebResult.result(result);
-    }
-}

+ 24 - 4
mgr/src/main/java/cn/reghao/devops/mgr/build/controller/page/CompilerPageController.java → mgr/src/main/java/cn/reghao/devops/mgr/build/controller/CompilerPageController.java

@@ -1,4 +1,4 @@
-package cn.reghao.devops.mgr.build.controller.page;
+package cn.reghao.devops.mgr.build.controller;
 
 import cn.reghao.devops.mgr.build.db.repository.CompilerConfigRepository;
 import cn.reghao.devops.mgr.build.model.po.CompilerBind;
@@ -8,17 +8,19 @@ import cn.reghao.devops.mgr.builder.model.constant.CompileType;
 import cn.reghao.devops.mgr.build.service.CompilerConfigService;
 import cn.reghao.devops.mgr.util.PageSort;
 import cn.reghao.devops.common.machine.Machine;
+import cn.reghao.jutil.jdk.result.Result;
+import cn.reghao.jutil.web.WebResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
+import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -110,4 +112,22 @@ public class CompilerPageController {
             return "/devops/build/compiler/version";
         }
     }
+
+    @ApiOperation(value = "添加/修改应用编译配置", notes = "N")
+    @PreAuthorize("hasRole('ROLE_ADMIN')")
+    @PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
+    @ResponseBody
+    public String addOrUpdateCompileConfig(@Validated CompilerConfig compilerConfig) {
+        Result result = compilerConfigService.addOrUpdate(compilerConfig);
+        return WebResult.result(result);
+    }
+
+    @ApiOperation(value = "删除应用编译配置", notes = "N")
+    @PreAuthorize("hasRole('ROLE_ADMIN')")
+    @DeleteMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
+    @ResponseBody
+    public String deleteCompileConfig(@PathVariable("id") int id) {
+        Result result = compilerConfigService.delete(id);
+        return WebResult.result(result);
+    }
 }

+ 0 - 44
mgr/src/main/java/cn/reghao/devops/mgr/build/controller/DockerRegistryController.java

@@ -1,44 +0,0 @@
-package cn.reghao.devops.mgr.build.controller;
-
-import cn.reghao.devops.common.docker.model.DockerAuth;
-import cn.reghao.devops.mgr.build.service.DockerRegistryService;
-import cn.reghao.jutil.jdk.result.WebResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.http.MediaType;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author reghao
- * @date 2024-07-26 19:15:15
- */
-@Slf4j
-@Api(tags = "DockerRegistry 配置接口")
-@RestController
-@RequestMapping("/api/build")
-public class DockerRegistryController {
-    private final DockerRegistryService dockerRegistryService;
-
-    public DockerRegistryController(DockerRegistryService dockerRegistryService) {
-        this.dockerRegistryService = dockerRegistryService;
-    }
-
-    @ApiOperation(value = "添加/修改 DockerRegistry 配置", notes = "N")
-    @PreAuthorize("hasRole('ROLE_ADMIN')")
-    @PostMapping(value = "/registry", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addOrUpdateRepoConfig(@Validated DockerAuth dockerAuth) {
-        dockerRegistryService.addOrUpdate(dockerAuth);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "删除 DockerRegistry 配置", notes = "N")
-    @PreAuthorize("hasRole('ROLE_ADMIN')")
-    @DeleteMapping(value = "/registry/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteRepoConfig(@PathVariable("id") Integer id) {
-        dockerRegistryService.delete(id);
-        return WebResult.success();
-    }
-}

+ 32 - 8
mgr/src/main/java/cn/reghao/devops/mgr/build/controller/page/DockerRegistryPageController.java → mgr/src/main/java/cn/reghao/devops/mgr/build/controller/DockerRegistryPageController.java

@@ -1,18 +1,21 @@
-package cn.reghao.devops.mgr.build.controller.page;
+package cn.reghao.devops.mgr.build.controller;
 
+import cn.reghao.devops.common.docker.model.DockerAuth;
 import cn.reghao.devops.mgr.build.db.repository.DockerRegistryRepository;
 import cn.reghao.devops.mgr.build.model.po.DockerRegistry;
+import cn.reghao.devops.mgr.build.service.DockerRegistryService;
 import cn.reghao.devops.mgr.util.PageSort;
+import cn.reghao.jutil.jdk.result.WebResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
+import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @author reghao
@@ -22,10 +25,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
 @Controller
 @RequestMapping("/build")
 public class DockerRegistryPageController {
-    private final DockerRegistryRepository dockerAuthRepository;
+    private final DockerRegistryRepository dockerRegistryRepository;
+    private final DockerRegistryService dockerRegistryService;
 
-    public DockerRegistryPageController(DockerRegistryRepository dockerAuthRepository) {
-        this.dockerAuthRepository = dockerAuthRepository;
+    public DockerRegistryPageController(DockerRegistryRepository dockerRegistryRepository,
+                                        DockerRegistryService dockerRegistryService) {
+        this.dockerRegistryRepository = dockerRegistryRepository;
+        this.dockerRegistryService = dockerRegistryService;
     }
 
     @ApiOperation(value = "DockerRegistry 列表页面", notes = "N")
@@ -33,7 +39,7 @@ public class DockerRegistryPageController {
     @GetMapping("/registry")
     public String repoAuthPage(Model model) {
         PageRequest pageRequest = PageSort.pageRequest();
-        Page<DockerRegistry> page = dockerAuthRepository.findAll(pageRequest);
+        Page<DockerRegistry> page = dockerRegistryRepository.findAll(pageRequest);
 
         model.addAttribute("page", page);
         model.addAttribute("list", page.getContent());
@@ -64,4 +70,22 @@ public class DockerRegistryPageController {
         model.addAttribute("dockerRegistry", dockerRegistry);
         return "/devops/build/docker/detail";
     }
+
+    @ApiOperation(value = "添加/修改 DockerRegistry 配置", notes = "N")
+    @PreAuthorize("hasRole('ROLE_ADMIN')")
+    @PostMapping(value = "/registry", produces = MediaType.APPLICATION_JSON_VALUE)
+    @ResponseBody
+    public String addOrUpdateRepoConfig(@Validated DockerAuth dockerAuth) {
+        dockerRegistryService.addOrUpdate(dockerAuth);
+        return WebResult.success();
+    }
+
+    @ApiOperation(value = "删除 DockerRegistry 配置", notes = "N")
+    @PreAuthorize("hasRole('ROLE_ADMIN')")
+    @DeleteMapping(value = "/registry/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
+    @ResponseBody
+    public String deleteRepoConfig(@PathVariable("id") Integer id) {
+        dockerRegistryService.delete(id);
+        return WebResult.success();
+    }
 }

+ 0 - 45
mgr/src/main/java/cn/reghao/devops/mgr/build/controller/PackerConfigController.java

@@ -1,45 +0,0 @@
-package cn.reghao.devops.mgr.build.controller;
-
-import cn.reghao.devops.mgr.build.model.po.PackerConfig;
-import cn.reghao.devops.mgr.build.service.PackerConfigService;
-import cn.reghao.jutil.jdk.result.Result;
-import cn.reghao.jutil.jdk.result.WebResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.http.MediaType;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author reghao
- * @date 2019-08-30 18:49:15
- */
-@Slf4j
-@Api(tags = "应用打包配置接口")
-@RestController
-@RequestMapping("/api/build/packer")
-public class PackerConfigController {
-    private final PackerConfigService packerConfigService;
-
-    public PackerConfigController(PackerConfigService packerConfigService) {
-        this.packerConfigService = packerConfigService;
-    }
-
-    @ApiOperation(value = "添加/修改应用打包配置", notes = "N")
-    @PreAuthorize("hasRole('ROLE_ADMIN')")
-    @PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addOrUpdatePackConfig(@Validated PackerConfig packerConfig) {
-        Result result = packerConfigService.addOrUpdate(packerConfig);
-        return WebResult.result(result);
-    }
-
-    @ApiOperation(value = "删除应用打包配置", notes = "N")
-    @PreAuthorize("hasRole('ROLE_ADMIN')")
-    @DeleteMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deletePackConfig(@PathVariable("id")  int id) {
-        Result result = packerConfigService.delete(id);
-        return WebResult.result(result);
-    }
-}

+ 31 - 6
mgr/src/main/java/cn/reghao/devops/mgr/build/controller/page/PackerPageController.java → mgr/src/main/java/cn/reghao/devops/mgr/build/controller/PackerPageController.java

@@ -1,23 +1,26 @@
-package cn.reghao.devops.mgr.build.controller.page;
+package cn.reghao.devops.mgr.build.controller;
 
 import cn.reghao.devops.mgr.build.db.repository.DockerRegistryRepository;
 import cn.reghao.devops.mgr.build.db.repository.PackerConfigRepository;
 import cn.reghao.devops.mgr.build.model.po.PackerConfig;
 import cn.reghao.devops.common.util.KeyValue;
+import cn.reghao.devops.mgr.build.service.PackerConfigService;
 import cn.reghao.devops.mgr.util.PageSort;
 import cn.reghao.devops.common.machine.Machine;
 import cn.reghao.devops.common.msg.constant.PackType;
+import cn.reghao.jutil.jdk.result.Result;
+import cn.reghao.jutil.web.WebResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
+import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -33,11 +36,15 @@ import java.util.stream.Collectors;
 @RequestMapping("/build/packer")
 public class PackerPageController {
     private final PackerConfigRepository packerConfigRepository;
-    private final DockerRegistryRepository dockerRegistryRepository;
+    private final DockerRegistryRepository dockerRegistryRepository;;
+    private final PackerConfigService packerConfigService;
 
-    public PackerPageController(PackerConfigRepository packerConfigRepository, DockerRegistryRepository dockerRegistryRepository) {
+    public PackerPageController(PackerConfigRepository packerConfigRepository,
+                                DockerRegistryRepository dockerRegistryRepository,
+                                PackerConfigService packerConfigService) {
         this.packerConfigRepository = packerConfigRepository;
         this.dockerRegistryRepository = dockerRegistryRepository;
+        this.packerConfigService = packerConfigService;
     }
 
     @ApiOperation(value = "打包配置页面", notes = "N")
@@ -95,4 +102,22 @@ public class PackerPageController {
         model.addAttribute("packer", packerConfig);
         return "/devops/build/packer/detail";
     }
+
+    @ApiOperation(value = "添加/修改应用打包配置", notes = "N")
+    @PreAuthorize("hasRole('ROLE_ADMIN')")
+    @PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
+    @ResponseBody
+    public String addOrUpdatePackConfig(@Validated PackerConfig packerConfig) {
+        Result result = packerConfigService.addOrUpdate(packerConfig);
+        return WebResult.result(result);
+    }
+
+    @ApiOperation(value = "删除应用打包配置", notes = "N")
+    @PreAuthorize("hasRole('ROLE_ADMIN')")
+    @DeleteMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
+    @ResponseBody
+    public String deletePackConfig(@PathVariable("id")  int id) {
+        Result result = packerConfigService.delete(id);
+        return WebResult.result(result);
+    }
 }

+ 0 - 45
mgr/src/main/java/cn/reghao/devops/mgr/build/controller/RepoAuthConfigController.java

@@ -1,45 +0,0 @@
-package cn.reghao.devops.mgr.build.controller;
-
-import cn.reghao.devops.mgr.build.model.po.RepoAuthConfig;
-import cn.reghao.devops.mgr.build.service.RepoAuthConfigService;
-import cn.reghao.jutil.jdk.result.Result;
-import cn.reghao.jutil.jdk.result.WebResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.http.MediaType;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author reghao
- * @date 2019-08-30 18:49:15
- */
-@Slf4j
-@Api(tags = "仓库认证配置接口")
-@RestController
-@RequestMapping("/api/build/repoauth")
-public class RepoAuthConfigController {
-    private final RepoAuthConfigService repoAuthConfigService;
-
-    public RepoAuthConfigController(RepoAuthConfigService repoAuthConfigService) {
-        this.repoAuthConfigService = repoAuthConfigService;
-    }
-
-    @ApiOperation(value = "添加/修改仓库认证配置", notes = "N")
-    @PreAuthorize("hasRole('ROLE_ADMIN')")
-    @PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addOrUpdateRepoConfig(@Validated RepoAuthConfig repoAuth) {
-        Result result = repoAuthConfigService.addOrUpdate(repoAuth);
-        return WebResult.result(result);
-    }
-
-    @ApiOperation(value = "删除仓库认证配置", notes = "N")
-    @PreAuthorize("hasRole('ROLE_ADMIN')")
-    @DeleteMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteRepoConfig(@PathVariable("id") int id) {
-        Result result = repoAuthConfigService.delete(id);
-        return WebResult.result(result);
-    }
-}

+ 29 - 5
mgr/src/main/java/cn/reghao/devops/mgr/build/controller/page/RepoAuthPageController.java → mgr/src/main/java/cn/reghao/devops/mgr/build/controller/RepoAuthPageController.java

@@ -1,22 +1,25 @@
-package cn.reghao.devops.mgr.build.controller.page;
+package cn.reghao.devops.mgr.build.controller;
 
 import cn.reghao.devops.mgr.build.db.repository.RepoAuthConfigRepository;
 import cn.reghao.devops.mgr.build.model.po.RepoAuthConfig;
 import cn.reghao.devops.common.util.KeyValue;
+import cn.reghao.devops.mgr.build.service.RepoAuthConfigService;
 import cn.reghao.devops.mgr.builder.model.constant.RepoAuthType;
 import cn.reghao.devops.mgr.builder.model.constant.RepoType;
 import cn.reghao.devops.mgr.util.PageSort;
+import cn.reghao.jutil.jdk.result.Result;
+import cn.reghao.jutil.web.WebResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
+import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -31,9 +34,12 @@ import java.util.List;
 @RequestMapping("/build")
 public class RepoAuthPageController {
     private final RepoAuthConfigRepository repoAuthConfigRepository;
+    private final RepoAuthConfigService repoAuthConfigService;
 
-    public RepoAuthPageController(RepoAuthConfigRepository repoAuthConfigRepository) {
+    public RepoAuthPageController(RepoAuthConfigRepository repoAuthConfigRepository,
+                                  RepoAuthConfigService repoAuthConfigService) {
         this.repoAuthConfigRepository = repoAuthConfigRepository;
+        this.repoAuthConfigService = repoAuthConfigService;
     }
 
     @ApiOperation(value = "仓库认证列表页面", notes = "N")
@@ -88,4 +94,22 @@ public class RepoAuthPageController {
         model.addAttribute("repoAuth", repoAuth);
         return "/devops/build/repoauth/detail";
     }
+
+    @ApiOperation(value = "添加/修改仓库认证配置", notes = "N")
+    @PreAuthorize("hasRole('ROLE_ADMIN')")
+    @PostMapping(value = "/repoauth", produces = MediaType.APPLICATION_JSON_VALUE)
+    @ResponseBody
+    public String addOrUpdateRepoConfig(@Validated RepoAuthConfig repoAuth) {
+        Result result = repoAuthConfigService.addOrUpdate(repoAuth);
+        return WebResult.result(result);
+    }
+
+    @ApiOperation(value = "删除仓库认证配置", notes = "N")
+    @PreAuthorize("hasRole('ROLE_ADMIN')")
+    @DeleteMapping(value = "/repoauth/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
+    @ResponseBody
+    public String deleteRepoConfig(@PathVariable("id") int id) {
+        Result result = repoAuthConfigService.delete(id);
+        return WebResult.result(result);
+    }
 }

+ 0 - 27
mgr/src/main/java/cn/reghao/devops/mgr/build/model/vo/CommitInfoVO.java

@@ -1,27 +0,0 @@
-package cn.reghao.devops.mgr.build.model.vo;
-
-import cn.reghao.devops.mgr.builder.tool.repo.ChangedFile;
-import cn.reghao.devops.mgr.builder.tool.repo.CommitInfo;
-import cn.reghao.jutil.jdk.converter.DateTimeConverter;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2021-10-20 20:40:37
- */
-@Data
-public class CommitInfoVO {
-    private String commitAuthor;
-    private String commitMsg;
-    private String commitTime;
-    private List<ChangedFile> changedFiles;
-
-    public CommitInfoVO(CommitInfo commitInfo) {
-        this.commitAuthor = commitInfo.getCommitAuthor();
-        this.commitMsg = commitInfo.getCommitMsg();
-        this.commitTime = DateTimeConverter.format(commitInfo.getMsCommitTime());
-        this.changedFiles = commitInfo.getChangedFiles();
-    }
-}

+ 4 - 4
mgr/src/main/resources/templates/devops/build/builddir.html

@@ -5,7 +5,7 @@
 <body class="timo-layout-page">
 <div class="layui-card">
     <div class="layui-card-header timo-card-header">
-        <span><i class="fa fa-bars"></i> 构建目录</span>
+        <span><i class="fa fa-bars"></i> 构建数据目录</span>
         <i class="layui-icon layui-icon-refresh refresh-btn"></i>
     </div>
     <div class="layui-card-body">
@@ -14,7 +14,7 @@
                 <thead>
                 <tr>
                     <th class="sortable" data-field="machineIpv4">机器地址</th>
-                    <th class="sortable" data-field="dirPath">构建目录</th>
+                    <th class="sortable" data-field="dirPath">本地目录</th>
                     <th class="sortable" data-field="mountedOn">所属分区</th>
                     <th class="sortable" data-field="size">分区总量</th>
                     <th class="sortable" data-field="avail">分区可用</th>
@@ -24,13 +24,13 @@
                 <tbody>
                 <tr th:each="item:${list}">
                     <td th:text="${item.machineIpv4}">机器地址</td>
-                    <td th:text="${item.dirPath}">构建目录</td>
+                    <td th:text="${item.dirPath}">本地目录</td>
                     <td th:text="${item.mountedOn}">所属分区</td>
                     <td th:text="${item.totalStr}">分区总量</td>
                     <td th:text="${item.availStr}">分区可用</td>
                     <td>
                         <a class="ajax-post"
-                           th:href="@{'/api/build/dir/erase'}">清空</a>
+                           th:href="@{'/build/dir/erase'}">清空</a>
                     </td>
                 </tr>
                 </tbody>

+ 1 - 1
mgr/src/main/resources/templates/devops/build/compiler/add.html

@@ -127,7 +127,7 @@
             // 手动提交表单
             $.ajax({
                 type: 'POST',
-                url: '/api/build/compiler',
+                url: '/build/compiler',
                 contentType: "application/x-www-form-urlencoded",
                 data: data.field,
                 success: function(jsonData) {

+ 1 - 1
mgr/src/main/resources/templates/devops/build/compiler/edit.html

@@ -5,7 +5,7 @@
 
 <body>
 <div class="layui-form timo-compile">
-    <form th:action="@{/api/build/compiler}">
+    <form th:action="@{/build/compiler}">
         <!--<input type="hidden" name="machineId" th:value="${machineId}"/>-->
         <input type="hidden" name="id" th:value="${compiler.id}"/>
         <div class="layui-form-item">

+ 1 - 1
mgr/src/main/resources/templates/devops/build/compiler/index.html

@@ -55,7 +55,7 @@
                         <a class="open-popup" data-title="修改命令" th:attr="data-url=@{'/build/compiler/edit/'+${item.id}}"
                            data-size="720,480" href="#">编辑</a>
                         <a class="ajax-delete" th:attr="data-msg='确定要删除 '+ ${item.name} + '?'"
-                           th:href="@{'/api/build/compiler/' + ${item.id}}">删除</a>
+                           th:href="@{'/build/compiler/' + ${item.id}}">删除</a>
                     </td>
                 </tr>
                 </tbody>

+ 1 - 1
mgr/src/main/resources/templates/devops/build/docker/add.html

@@ -5,7 +5,7 @@
 
 <body>
 <div class="layui-form timo-compile">
-    <form th:action="@{/api/build/registry}">
+    <form th:action="@{/build/registry}">
         <div class="layui-form-item">
             <label class="layui-form-label required">Registry Url</label>
             <div class="layui-input-inline">

+ 1 - 1
mgr/src/main/resources/templates/devops/build/docker/edit.html

@@ -5,7 +5,7 @@
 
 <body>
 <div class="layui-form timo-compile">
-    <form th:action="@{/api/build/registry}">
+    <form th:action="@{/build/registry}">
         <div class="layui-form-item">
             <label class="layui-form-label required">RegistryUrl</label>
             <div class="layui-input-inline">

+ 1 - 1
mgr/src/main/resources/templates/devops/build/docker/index.html

@@ -36,7 +36,7 @@
                         <a class="open-popup" data-title="修改用户名/密码" th:attr="data-url=@{'/build/registry/edit/'+${item.id}}"
                            data-size="640,480" href="#">编辑</a>
                         <a class="ajax-delete" th:attr="data-msg='确定要删除 '+ ${item.registryUrl} + '?'"
-                           th:href="@{'/api/build/registry/' + ${item.id}}">删除</a>
+                           th:href="@{'/build/registry/' + ${item.id}}">删除</a>
                     </td>
                 </tr>
                 </tbody>

+ 1 - 1
mgr/src/main/resources/templates/devops/build/packer/add.html

@@ -125,7 +125,7 @@
             // 手动提交表单
             $.ajax({
                 type: 'POST',
-                url: '/api/build/packer',
+                url: '/build/packer',
                 contentType: "application/x-www-form-urlencoded",
                 data: data.field,
                 success: function(jsonData) {

+ 1 - 1
mgr/src/main/resources/templates/devops/build/packer/edit.html

@@ -5,7 +5,7 @@
 
 <body>
 <div class="layui-form timo-compile">
-    <form th:action="@{/api/build/packer}">
+    <form th:action="@{/build/packer}">
         <input type="hidden" name="id" th:value="${packer.id}"/>
         <div class="layui-form-item">
             <label class="layui-form-label">打包类型</label>

+ 1 - 1
mgr/src/main/resources/templates/devops/build/packer/index.html

@@ -40,7 +40,7 @@
                         <a class="open-popup" data-title="修改存放位置" th:attr="data-url=@{'/build/packer/edit/'+${item.id}}"
                            data-size="640,480" href="#">编辑</a>
                         <a class="ajax-delete" th:attr="data-msg='确定要删除 '+ ${item.name} + '?'"
-                           th:href="@{'/api/build/packer/' + ${item.id}}">删除</a>
+                           th:href="@{'/build/packer/' + ${item.id}}">删除</a>
                     </td>
                 </tr>
                 </tbody>

+ 1 - 1
mgr/src/main/resources/templates/devops/build/repoauth/add.html

@@ -156,7 +156,7 @@
             // 手动提交表单
             $.ajax({
                 type: 'POST',
-                url: '/api/build/repoauth',
+                url: '/build/repoauth',
                 contentType: "application/x-www-form-urlencoded",
                 data: data.field,
                 success: function(jsonData) {

+ 1 - 1
mgr/src/main/resources/templates/devops/build/repoauth/edit.html

@@ -5,7 +5,7 @@
 
 <body>
 <div class="layui-form timo-compile">
-    <form th:action="@{/api/build/repoauth}">
+    <form th:action="@{/build/repoauth}">
         <div class="layui-form-item">
             <label class="layui-form-label required">仓库类型</label>
             <div class="layui-input-inline">

+ 1 - 1
mgr/src/main/resources/templates/devops/build/repoauth/index.html

@@ -40,7 +40,7 @@
                         <a class="open-popup" data-title="修改用户名/密码" th:attr="data-url=@{'/build/repoauth/edit/'+${item.id}}"
                            data-size="640,480" href="#">编辑</a>
                         <a class="ajax-delete" th:attr="data-msg='确定要删除 '+ ${item.name} + '?'"
-                           th:href="@{'/api/build/repoauth/' + ${item.id}}">删除</a>
+                           th:href="@{'/build/repoauth/' + ${item.id}}">删除</a>
                     </td>
                 </tr>
                 </tbody>