浏览代码

更新 DockerRegistry 接口

reghao 1 天之前
父节点
当前提交
b6e7013e1c

+ 13 - 9
mgr/src/main/java/cn/reghao/devops/mgr/ops/build/service/DockerRegistryService.java

@@ -3,6 +3,7 @@ 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.constant.RepoAuthType;
 import cn.reghao.devops.mgr.ops.build.model.dto.DockerRegistryDto;
 import cn.reghao.devops.mgr.ops.build.model.po.RepoAuthConfig;
 import cn.reghao.devops.mgr.ops.docker.db.repository.DockerRegistryRepository;
@@ -33,22 +34,25 @@ public class DockerRegistryService {
             return Result.fail(String.format("RepoAuthName %s not exists", repoAuthName));
         }
 
-        DockerAuth dockerAuth = new DockerAuth();
-        dockerAuth.setRegistryUrl(dockerRegistryDto.getRegistryUrl());
-        dockerAuth.setUsername(repoAuthConfig.getUsername());
-        dockerAuth.setPassword(repoAuthConfig.getPassword());
-        DockerImpl docker = new DockerImpl();
-        docker.auth(dockerAuth);
+        if (repoAuthConfig.getAuthType().equals(RepoAuthType.http.name())) {
+            DockerAuth dockerAuth = new DockerAuth();
+            dockerAuth.setRegistryUrl(dockerRegistryDto.getRegistryUrl());
+            dockerAuth.setUsername(repoAuthConfig.getUsername());
+            dockerAuth.setPassword(repoAuthConfig.getPassword());
+            DockerImpl docker = new DockerImpl();
+            docker.auth(dockerAuth);   
+        }
 
-        String registryUrl = dockerAuth.getRegistryUrl();
-        DockerRegistry dockerRegistry = dockerAuthRepository.findByRegistryUrl(registryUrl);
+        String registryUrl = dockerRegistryDto.getRegistryUrl();
+        String registryNamespace = dockerRegistryDto.getRegistryNamespace();
+        DockerRegistry dockerRegistry = dockerAuthRepository.findByRegistryUrlAndRegistryNamespace(registryUrl, registryNamespace);
         if (dockerRegistry == null) {
             dockerRegistry = new DockerRegistry(dockerRegistryDto, repoAuthConfig);
             dockerAuthRepository.save(dockerRegistry);
             return Result.success();
         }
 
-        return Result.fail(String.format("%s already exists", dockerRegistry.getRegistryUrl()));
+        return Result.fail(String.format("%s/%s already exists", registryUrl, registryNamespace));
     }
 
     public Result delete(int id) {

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

@@ -8,5 +8,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
  * @date 2024-07-26 17:26:16
  */
 public interface DockerRegistryRepository extends JpaRepository<DockerRegistry, Integer> {
-    DockerRegistry findByRegistryUrl(String registryUrl);
+    DockerRegistry findByRegistryUrlAndRegistryNamespace(String registryUrl, String registryNamespace);
 }