|
|
@@ -2,7 +2,9 @@ package cn.reghao.bnt.web.devops.docker.service;
|
|
|
|
|
|
import cn.reghao.bnt.common.msg.constant.PackType;
|
|
|
import cn.reghao.bnt.web.devops.app.db.repository.config.AppConfigRepository;
|
|
|
-import cn.reghao.bnt.web.devops.docker.model.vo.DockerfileImage;
|
|
|
+import cn.reghao.bnt.web.devops.build.db.repository.CompilerConfigRepository;
|
|
|
+import cn.reghao.bnt.web.devops.builder.model.constant.CompileType;
|
|
|
+import cn.reghao.bnt.web.devops.docker.model.vo.DockerImage;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.*;
|
|
|
@@ -13,15 +15,33 @@ import java.util.*;
|
|
|
*/
|
|
|
@Service
|
|
|
public class DockerImageService {
|
|
|
- private final AppConfigRepository configRepository;
|
|
|
+ private final AppConfigRepository appConfigRepository;
|
|
|
+ private final CompilerConfigRepository compilerConfigRepository;
|
|
|
|
|
|
- public DockerImageService(AppConfigRepository configRepository) {
|
|
|
- this.configRepository = configRepository;
|
|
|
+ public DockerImageService(AppConfigRepository appConfigRepository, CompilerConfigRepository compilerConfigRepository) {
|
|
|
+ this.appConfigRepository = appConfigRepository;
|
|
|
+ this.compilerConfigRepository = compilerConfigRepository;
|
|
|
}
|
|
|
|
|
|
- public List<DockerfileImage> getDockerfileImages() {
|
|
|
+ public List<DockerImage> getDockerfileImages() {
|
|
|
Map<String, List<String>> map = new HashMap<>();
|
|
|
- configRepository.findAll().stream()
|
|
|
+ List<DockerImage> list = new ArrayList<>();
|
|
|
+
|
|
|
+ compilerConfigRepository.findAll().stream()
|
|
|
+ .filter(compilerConfig -> compilerConfig.getType().equals(CompileType.docker.name()))
|
|
|
+ .forEach(compilerConfig -> {
|
|
|
+ String compileName = compilerConfig.getName();
|
|
|
+ String compilerImage = compilerConfig.getCompilerImage();
|
|
|
+ map.computeIfAbsent(compilerImage, k -> new ArrayList<>()).add(compileName);
|
|
|
+ });
|
|
|
+
|
|
|
+ map.forEach((key, value) -> {
|
|
|
+ String stage = "编译阶段";
|
|
|
+ list.add(new DockerImage(key, stage, value));
|
|
|
+ });
|
|
|
+ map.clear();
|
|
|
+
|
|
|
+ appConfigRepository.findAll().stream()
|
|
|
.filter(appConfig -> appConfig.getPackerConfig().getType().equals(PackType.docker.getName()))
|
|
|
.forEach(appConfig -> {
|
|
|
String dockerfile = appConfig.getDockerfile();
|
|
|
@@ -35,11 +55,11 @@ public class DockerImageService {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
- List<DockerfileImage> list = new ArrayList<>();
|
|
|
map.forEach((key, value) -> {
|
|
|
- list.add(new DockerfileImage(key, value));
|
|
|
+ String stage = "打包阶段";
|
|
|
+ list.add(new DockerImage(key, stage, value));
|
|
|
});
|
|
|
+ map.clear();
|
|
|
return list;
|
|
|
}
|
|
|
}
|