Ver Fonte

调整 mgr 中构建配置相关接口

reghao há 16 horas atrás
pai
commit
da2bbf6af3

+ 1 - 1
common/src/main/java/cn/reghao/devops/common/msg/constant/PackType.java

@@ -7,7 +7,7 @@ package cn.reghao.devops.common.msg.constant;
  * @date 2019-11-15 21:59:35
  */
 public enum PackType {
-    none, docker, zip, staticFiles;
+    docker, staticFiles, zip;
 
     public String getName() {
         return this.name();

+ 21 - 18
mgr/src/main/java/cn/reghao/devops/mgr/ops/docker/controller/DockerRegistryController.java → mgr/src/main/java/cn/reghao/devops/mgr/ops/build/controller/DockerRegistryController.java

@@ -1,10 +1,12 @@
-package cn.reghao.devops.mgr.ops.docker.controller;
+package cn.reghao.devops.mgr.ops.build.controller;
 
 import cn.reghao.devops.common.docker.model.DockerAuth;
+import cn.reghao.devops.mgr.ops.build.model.dto.DockerAuthDto;
 import cn.reghao.devops.mgr.ops.docker.db.repository.DockerRegistryRepository;
-import cn.reghao.devops.mgr.ops.docker.model.po.DockerRegistry;
-import cn.reghao.devops.mgr.ops.docker.service.DockerRegistryService;
+import cn.reghao.devops.mgr.ops.build.model.po.DockerRegistry;
+import cn.reghao.devops.mgr.ops.build.service.DockerRegistryService;
 import cn.reghao.jutil.jdk.web.db.PageList;
+import cn.reghao.jutil.jdk.web.result.Result;
 import cn.reghao.jutil.web.WebResult;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Operation;
@@ -22,7 +24,7 @@ import java.util.List;
  */
 @Tag(name = "Docker 仓库接口")
 @RestController
-@RequestMapping("/api/devops/docker")
+@RequestMapping("/api/devops/build/docker")
 public class DockerRegistryController {
     private final DockerRegistryRepository dockerRegistryRepository;
     private final DockerRegistryService dockerRegistryService;
@@ -34,6 +36,21 @@ public class DockerRegistryController {
         this.dockerRegistryService = dockerRegistryService;
     }
 
+    @Operation(summary = "添加 DockerRegistry 配置", description = "N")
+    @PostMapping(value = "/registry", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String addOrUpdateRepoConfig(@Validated DockerAuthDto dockerAuthDto) {
+        /*Result result = dockerRegistryService.addOrUpdate(dockerAuthDto);
+        return WebResult.result(result);*/
+        return WebResult.success();
+    }
+
+    @Operation(summary = "删除 DockerRegistry 配置", description = "N")
+    @PostMapping(value = "/registry/delete", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String deleteRepoConfig(Integer id) {
+        dockerRegistryService.delete(id);
+        return WebResult.success();
+    }
+
     @Operation(summary = "DockerRegistry 列表页面", description = "N")
     @GetMapping("/registry")
     public String repoAuthPage(@RequestParam("pn") int pageNumber) {
@@ -50,18 +67,4 @@ public class DockerRegistryController {
         List<DockerRegistry> list = page.getContent();
         return PageList.pageList(pageNumber, pageSize, (int) total, list);
     }
-
-    @Operation(summary = "添加 DockerRegistry 配置", description = "N")
-    @PostMapping(value = "/registry", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addOrUpdateRepoConfig(@Validated DockerAuth dockerAuth) {
-        dockerRegistryService.addOrUpdate(dockerAuth);
-        return WebResult.success();
-    }
-
-    @Operation(summary = "删除 DockerRegistry 配置", description = "N")
-    @PostMapping(value = "/registry/delete", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteRepoConfig(Integer id) {
-        dockerRegistryService.delete(id);
-        return WebResult.success();
-    }
 }

+ 22 - 22
mgr/src/main/java/cn/reghao/devops/mgr/ops/build/controller/PackerController.java

@@ -46,26 +46,13 @@ public class PackerController {
         this.packerConfigService = packerConfigService;
     }
 
-    @Operation(summary = "打包配置页面", description = "N")
-    @GetMapping(value = "")
-    public String packerPage(@RequestParam("pn") int pageNumber) {
-        PageRequest pageRequest = PageRequest.of(pageNumber-1, pageSize);
-        Page<PackerConfig> page = packerConfigRepository.findAll(pageRequest);
-        PageList<PackerConfig> pageList = getPageList(page);
-        return WebResult.success(pageList);
-    }
-
-    private PageList<PackerConfig> getPageList(Page<PackerConfig> page) {
-        int pageNumber = page.getNumber() + 1;
-        int pageSize = page.getSize();
-        long total = page.getTotalElements();
-        List<PackerConfig> list = page.getContent();
-        return PageList.pageList(pageNumber, pageSize, (int) total, list);
-    }
-
     @Operation(summary = "打包类型列表", description = "N")
     @GetMapping("/pack_types")
     public String addPackerPage() {
+        List<SelectOption> packTypes = Arrays.stream(PackType.values())
+                .map(packType -> new SelectOption(packType.name(), packType.name()))
+                .collect(Collectors.toList());
+
         List<SelectOption> registryList = dockerRegistryRepository.findAll()
                 .stream()
                 .map(dockerRegistry -> {
@@ -75,16 +62,29 @@ public class PackerController {
                 })
                 .collect(Collectors.toList());
 
-        List<SelectOption> packTypes = Arrays.stream(PackType.values())
-                .map(packType -> new SelectOption(packType.name(), packType.name()))
-                .collect(Collectors.toList());
-
         Map<String, Object> map = new HashMap<>();
-        map.put("registryList", registryList);
         map.put("packTypes", packTypes);
+        map.put("registryList", registryList);
         return WebResult.success(map);
     }
 
+    @Operation(summary = "打包配置页面", description = "N")
+    @GetMapping(value = "")
+    public String packerPage(@RequestParam("pn") int pageNumber) {
+        PageRequest pageRequest = PageRequest.of(pageNumber-1, pageSize);
+        Page<PackerConfig> page = packerConfigRepository.findAll(pageRequest);
+        PageList<PackerConfig> pageList = getPageList(page);
+        return WebResult.success(pageList);
+    }
+
+    private PageList<PackerConfig> getPageList(Page<PackerConfig> page) {
+        int pageNumber = page.getNumber() + 1;
+        int pageSize = page.getSize();
+        long total = page.getTotalElements();
+        List<PackerConfig> list = page.getContent();
+        return PageList.pageList(pageNumber, pageSize, (int) total, list);
+    }
+
     @Operation(summary = "添加应用打包配置", description = "N")
     @PostMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
     public String addPackConfig(@Validated PackerConfig packerConfig) {

+ 13 - 2
mgr/src/main/java/cn/reghao/devops/mgr/ops/build/controller/RepoAuthController.java

@@ -43,9 +43,20 @@ public class RepoAuthController {
         this.repoAuthConfigService = repoAuthConfigService;
     }
 
-    @Operation(summary = "仓库认证列表页面", description = "N")
+    @Operation(summary = "仓库认证名字 kv 列表", description = "N")
+    @GetMapping(value = "/kv", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String repoAuthNames() {
+        PageRequest pageRequest = PageRequest.of(0, pageSize);
+        Page<RepoAuthConfig> page = repoAuthConfigRepository.findAll(pageRequest);
+        List<SelectOption> repoAuthNames = page.getContent().stream()
+                .map(repoAuthConfig -> new SelectOption(repoAuthConfig.getName(), repoAuthConfig.getName()))
+                .collect(Collectors.toList());
+        return WebResult.success(repoAuthNames);
+    }
+
+    @Operation(summary = "仓库认证列表", description = "N")
     @GetMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String repoAuthPage(@RequestParam("pn") int pageNumber) {
+    public String repoAuthList(@RequestParam("pn") int pageNumber) {
         PageRequest pageRequest = PageRequest.of(pageNumber-1, pageSize);
         Page<RepoAuthConfig> page = repoAuthConfigRepository.findAll(pageRequest);
         PageList<RepoAuthConfig> pageList = getPageList(page);

+ 21 - 0
mgr/src/main/java/cn/reghao/devops/mgr/ops/build/model/dto/DockerAuthDto.java

@@ -0,0 +1,21 @@
+package cn.reghao.devops.mgr.ops.build.model.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Size;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author reghao
+ * @date 2026-03-21 00:13:16
+ */
+@NoArgsConstructor
+@Data
+public class DockerAuthDto {
+    @NotBlank(message = "repoAuthName 不能为空字符")
+    @Size(max = 255, message = "repoAuthName 长度不能超过 255 个字符")
+    private String repoAuthName;
+    @NotBlank(message = "registryUrl 不能为空字符")
+    @Size(max = 255, message = "registryUrl 不能超过 255 个字符")
+    private String registryUrl;
+}

+ 1 - 1
mgr/src/main/java/cn/reghao/devops/mgr/ops/docker/model/po/DockerRegistry.java → mgr/src/main/java/cn/reghao/devops/mgr/ops/build/model/po/DockerRegistry.java

@@ -1,4 +1,4 @@
-package cn.reghao.devops.mgr.ops.docker.model.po;
+package cn.reghao.devops.mgr.ops.build.model.po;
 
 import cn.reghao.devops.common.docker.model.DockerAuth;
 import cn.reghao.devops.mgr.util.BaseEntity;

+ 0 - 1
mgr/src/main/java/cn/reghao/devops/mgr/ops/build/model/po/PackerConfig.java

@@ -4,7 +4,6 @@ import cn.reghao.devops.common.docker.model.DockerAuth;
 import cn.reghao.devops.common.msg.constant.PackType;
 import cn.reghao.devops.mgr.ops.build.model.provider.PackerConfigGroupSequenceProvider;
 import cn.reghao.devops.mgr.ops.builder.model.dto.PackerDto;
-import cn.reghao.devops.mgr.ops.docker.model.po.DockerRegistry;
 import cn.reghao.devops.mgr.util.BaseEntity;
 import cn.reghao.jutil.jdk.web.validator.ValidEnum;
 import lombok.Getter;

+ 21 - 4
mgr/src/main/java/cn/reghao/devops/mgr/ops/docker/service/DockerRegistryService.java → mgr/src/main/java/cn/reghao/devops/mgr/ops/build/service/DockerRegistryService.java

@@ -1,9 +1,12 @@
-package cn.reghao.devops.mgr.ops.docker.service;
+package cn.reghao.devops.mgr.ops.build.service;
 
 import cn.reghao.devops.common.docker.DockerImpl;
 import cn.reghao.devops.common.docker.model.DockerAuth;
+import cn.reghao.devops.mgr.ops.build.db.repository.RepoAuthConfigRepository;
+import cn.reghao.devops.mgr.ops.build.model.dto.DockerAuthDto;
+import cn.reghao.devops.mgr.ops.build.model.po.RepoAuthConfig;
 import cn.reghao.devops.mgr.ops.docker.db.repository.DockerRegistryRepository;
-import cn.reghao.devops.mgr.ops.docker.model.po.DockerRegistry;
+import cn.reghao.devops.mgr.ops.build.model.po.DockerRegistry;
 import cn.reghao.jutil.jdk.web.result.Result;
 import cn.reghao.jutil.jdk.web.result.ResultStatus;
 import org.springframework.stereotype.Service;
@@ -15,12 +18,25 @@ import org.springframework.stereotype.Service;
 @Service
 public class DockerRegistryService {
     private final DockerRegistryRepository dockerAuthRepository;
+    private RepoAuthConfigRepository repoAuthConfigRepository;
 
-    public DockerRegistryService(DockerRegistryRepository dockerAuthRepository) {
+    public DockerRegistryService(DockerRegistryRepository dockerAuthRepository,
+                                 RepoAuthConfigRepository repoAuthConfigRepository) {
         this.dockerAuthRepository = dockerAuthRepository;
+        this.repoAuthConfigRepository = repoAuthConfigRepository;
     }
 
-    public void addOrUpdate(DockerAuth dockerAuth) {
+    public Result addOrUpdate(DockerAuthDto dockerAuthDto) {
+        String repoAuthName = dockerAuthDto.getRepoAuthName();
+        RepoAuthConfig repoAuthConfig = repoAuthConfigRepository.findByName(repoAuthName);
+        if (repoAuthConfig == null) {
+            return Result.fail(String.format("RepoAuthName %s not exists", repoAuthName));
+        }
+
+        DockerAuth dockerAuth = new DockerAuth();
+        dockerAuth.setRegistryUrl(dockerAuthDto.getRegistryUrl());
+        dockerAuth.setUsername(repoAuthConfig.getUsername());
+        dockerAuth.setPassword(repoAuthConfig.getPassword());
         DockerImpl docker = new DockerImpl();
         docker.auth(dockerAuth);
 
@@ -34,6 +50,7 @@ public class DockerRegistryService {
         }
 
         dockerAuthRepository.save(dockerRegistry);
+        return Result.success();
     }
 
     public Result delete(int id) {

+ 1 - 1
mgr/src/main/java/cn/reghao/devops/mgr/ops/build/service/impl/PackerConfigServiceImpl.java

@@ -3,7 +3,7 @@ package cn.reghao.devops.mgr.ops.build.service.impl;
 import cn.reghao.devops.common.msg.constant.PackType;
 import cn.reghao.devops.mgr.ops.app.db.query.AppBuildQuery;
 import cn.reghao.devops.mgr.ops.build.db.repository.PackerConfigRepository;
-import cn.reghao.devops.mgr.ops.docker.model.po.DockerRegistry;
+import cn.reghao.devops.mgr.ops.build.model.po.DockerRegistry;
 import cn.reghao.devops.mgr.ops.build.model.po.PackerConfig;
 import cn.reghao.devops.mgr.ops.build.service.PackerConfigService;
 import cn.reghao.jutil.jdk.web.result.Result;

+ 1 - 1
mgr/src/main/java/cn/reghao/devops/mgr/ops/builder/service/PipelineContext.java

@@ -5,7 +5,7 @@ import cn.reghao.devops.mgr.ops.builder.model.po.AppBuilding;
 import cn.reghao.devops.mgr.ops.app.model.po.AppConfig;
 import cn.reghao.devops.mgr.ops.builder.model.LocalBuildDir;
 import cn.reghao.devops.mgr.ops.builder.tool.repo.CommitInfo;
-import cn.reghao.devops.mgr.ops.docker.model.po.DockerRegistry;
+import cn.reghao.devops.mgr.ops.build.model.po.DockerRegistry;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;

+ 1 - 2
mgr/src/main/java/cn/reghao/devops/mgr/ops/builder/service/impl/DeployAppImpl.java

@@ -12,11 +12,10 @@ import cn.reghao.devops.mgr.ops.app.db.query.AppDeployQuery;
 import cn.reghao.devops.mgr.ops.builder.model.po.AppBuilding;
 import cn.reghao.devops.mgr.ops.app.model.po.AppConfig;
 import cn.reghao.devops.mgr.ops.app.model.po.AppDeployConfig;
-import cn.reghao.devops.mgr.ops.builder.model.po.BuildLog;
 import cn.reghao.devops.mgr.ops.app.service.AppDeployService;
 import cn.reghao.devops.mgr.ops.builder.service.DeployApp;
 import cn.reghao.devops.mgr.ops.builder.service.task.OssDeployTask;
-import cn.reghao.devops.mgr.ops.docker.model.po.DockerRegistry;
+import cn.reghao.devops.mgr.ops.build.model.po.DockerRegistry;
 import cn.reghao.devops.mgr.ops.machine.service.MachineQuery;
 import cn.reghao.devops.mgr.ws.WebSocketSessionManager;
 import cn.reghao.jutil.jdk.thread.ThreadPoolWrapper;

+ 1 - 1
mgr/src/main/java/cn/reghao/devops/mgr/ops/builder/tool/compiler/DockerRunCompiler.java

@@ -6,7 +6,7 @@ import cn.reghao.devops.mgr.ops.build.model.po.CompilerEnv;
 import cn.reghao.devops.mgr.ops.builder.tool.DockerBuild;
 import cn.reghao.devops.mgr.ops.builder.service.PipelineContext;
 import cn.reghao.devops.mgr.ops.build.model.constant.CompileType;
-import cn.reghao.devops.mgr.ops.docker.model.po.DockerRegistry;
+import cn.reghao.devops.mgr.ops.build.model.po.DockerRegistry;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 

+ 0 - 24
mgr/src/main/java/cn/reghao/devops/mgr/ops/builder/tool/packer/EmptyPack.java

@@ -1,24 +0,0 @@
-package cn.reghao.devops.mgr.ops.builder.tool.packer;
-
-import cn.reghao.devops.common.msg.constant.PackType;
-import cn.reghao.devops.mgr.ops.build.model.po.PackerConfig;
-import cn.reghao.devops.mgr.ops.builder.service.PipelineContext;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
-
-/**
- * @author reghao
- * @date 2026-01-10 02:28:35
- */
-@Slf4j
-@Component
-public class EmptyPack implements CodePacker {
-    @Override
-    public void pack(PipelineContext ctx, PackerConfig packerConfig) {
-    }
-
-    @Override
-    public String supportType() {
-        return PackType.none.getName();
-    }
-}

+ 1 - 1
mgr/src/main/java/cn/reghao/devops/mgr/ops/docker/controller/DockerController.java

@@ -18,7 +18,7 @@ import java.util.List;
  */
 @Tag(name = "机器节点页面和接口")
 @RestController
-@RequestMapping("/api/devops/docker")
+@RequestMapping("/api/devops/build/docker")
 public class DockerController {
     private final DockerImageService dockerImageService;
 

+ 1 - 1
mgr/src/main/java/cn/reghao/devops/mgr/ops/docker/db/repository/DockerRegistryRepository.java

@@ -1,6 +1,6 @@
 package cn.reghao.devops.mgr.ops.docker.db.repository;
 
-import cn.reghao.devops.mgr.ops.docker.model.po.DockerRegistry;
+import cn.reghao.devops.mgr.ops.build.model.po.DockerRegistry;
 import org.springframework.data.jpa.repository.JpaRepository;
 
 /**