|
@@ -1,13 +1,18 @@
|
|
|
package cn.reghao.autodop.dmaster.app.controller;
|
|
package cn.reghao.autodop.dmaster.app.controller;
|
|
|
|
|
|
|
|
|
|
+import cn.reghao.autodop.common.result.Result;
|
|
|
|
|
+import cn.reghao.autodop.common.result.ResultStatus;
|
|
|
import cn.reghao.autodop.dmaster.app.constant.AppType;
|
|
import cn.reghao.autodop.dmaster.app.constant.AppType;
|
|
|
import cn.reghao.autodop.dmaster.app.constant.EnvType;
|
|
import cn.reghao.autodop.dmaster.app.constant.EnvType;
|
|
|
import cn.reghao.autodop.dmaster.app.entity.config.AppOrchestration;
|
|
import cn.reghao.autodop.dmaster.app.entity.config.AppOrchestration;
|
|
|
import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
|
|
import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
|
|
|
|
|
+import cn.reghao.autodop.dmaster.app.entity.log.DeployLog;
|
|
|
import cn.reghao.autodop.dmaster.app.repository.AppBuildingRepository;
|
|
import cn.reghao.autodop.dmaster.app.repository.AppBuildingRepository;
|
|
|
|
|
+import cn.reghao.autodop.dmaster.app.repository.AppDeployingRepository;
|
|
|
import cn.reghao.autodop.dmaster.app.repository.config.AppOrchestrationRepository;
|
|
import cn.reghao.autodop.dmaster.app.repository.config.AppOrchestrationRepository;
|
|
|
import cn.reghao.autodop.dmaster.app.entity.AppBuilding;
|
|
import cn.reghao.autodop.dmaster.app.entity.AppBuilding;
|
|
|
import cn.reghao.autodop.dmaster.app.entity.AppDeploying;
|
|
import cn.reghao.autodop.dmaster.app.entity.AppDeploying;
|
|
|
|
|
+import cn.reghao.autodop.dmaster.app.repository.log.BuildLogRepository;
|
|
|
import cn.reghao.autodop.dmaster.app.repository.log.DeployLogRepository;
|
|
import cn.reghao.autodop.dmaster.app.repository.log.DeployLogRepository;
|
|
|
import cn.reghao.autodop.dmaster.common.db.PageList;
|
|
import cn.reghao.autodop.dmaster.common.db.PageList;
|
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
@@ -21,7 +26,10 @@ import org.springframework.ui.Model;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @author reghao
|
|
* @author reghao
|
|
@@ -34,13 +42,19 @@ import java.util.List;
|
|
|
public class AppPageController {
|
|
public class AppPageController {
|
|
|
private AppOrchestrationRepository appRepository;
|
|
private AppOrchestrationRepository appRepository;
|
|
|
private AppBuildingRepository appBuildingRepository;
|
|
private AppBuildingRepository appBuildingRepository;
|
|
|
|
|
+ private AppDeployingRepository appDeployingRepository;
|
|
|
|
|
+ private BuildLogRepository buildLogRepository;
|
|
|
private DeployLogRepository deployLogRepository;
|
|
private DeployLogRepository deployLogRepository;
|
|
|
|
|
|
|
|
public AppPageController(AppOrchestrationRepository appRepository,
|
|
public AppPageController(AppOrchestrationRepository appRepository,
|
|
|
AppBuildingRepository appBuildingRepository,
|
|
AppBuildingRepository appBuildingRepository,
|
|
|
|
|
+ AppDeployingRepository appDeployingRepository,
|
|
|
|
|
+ BuildLogRepository buildLogRepository,
|
|
|
DeployLogRepository deployLogRepository) {
|
|
DeployLogRepository deployLogRepository) {
|
|
|
this.appRepository = appRepository;
|
|
this.appRepository = appRepository;
|
|
|
this.appBuildingRepository = appBuildingRepository;
|
|
this.appBuildingRepository = appBuildingRepository;
|
|
|
|
|
+ this.appDeployingRepository = appDeployingRepository;
|
|
|
|
|
+ this.buildLogRepository = buildLogRepository;
|
|
|
this.deployLogRepository = deployLogRepository;
|
|
this.deployLogRepository = deployLogRepository;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -66,6 +80,25 @@ public class AppPageController {
|
|
|
@ApiOperation(value = "部署页面")
|
|
@ApiOperation(value = "部署页面")
|
|
|
@GetMapping("/deploy/{appId}")
|
|
@GetMapping("/deploy/{appId}")
|
|
|
public String deployPage(@PathVariable("appId") String appId, Model model) {
|
|
public String deployPage(@PathVariable("appId") String appId, Model model) {
|
|
|
|
|
+ int page = 1;
|
|
|
|
|
+ int size = 10;
|
|
|
|
|
+ PageRequest pageRequest =
|
|
|
|
|
+ PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
|
|
|
|
|
+
|
|
|
|
|
+ Page<BuildLog> buildLogPage = buildLogRepository.findByAppId(appId, pageRequest);
|
|
|
|
|
+ Map<String, List<DeployLog>> map = new HashMap<>();
|
|
|
|
|
+ for (BuildLog buildLog : buildLogPage.getContent()) {
|
|
|
|
|
+ if (buildLog.getResult().getCode() != ResultStatus.SUCCESS.getCode()) {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ String buildLogId = buildLog.getId();
|
|
|
|
|
+ List<DeployLog> deployLogs = deployLogRepository.findByBuildLogId(buildLogId);
|
|
|
|
|
+ if (!deployLogs.isEmpty()) {
|
|
|
|
|
+ map.put(buildLogId, deployLogs);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
AppOrchestration app = appRepository.findByAppId(appId);
|
|
AppOrchestration app = appRepository.findByAppId(appId);
|
|
|
List<AppDeploying> list = new ArrayList<>();
|
|
List<AppDeploying> list = new ArrayList<>();
|
|
|
/*PageList<AppBuilding> pageList = PageList.emptyPageList(appPage);
|
|
/*PageList<AppBuilding> pageList = PageList.emptyPageList(appPage);
|
|
@@ -87,6 +120,15 @@ public class AppPageController {
|
|
|
@ApiOperation(value = "运行状态页面")
|
|
@ApiOperation(value = "运行状态页面")
|
|
|
@GetMapping("/status")
|
|
@GetMapping("/status")
|
|
|
public String statusPage(Model model) {
|
|
public String statusPage(Model model) {
|
|
|
|
|
+ int page = 1;
|
|
|
|
|
+ int size = 10;
|
|
|
|
|
+ PageRequest pageRequest =
|
|
|
|
|
+ PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
|
|
|
|
|
+ Page<AppDeploying> appDeployingPage = appDeployingRepository.findAll(pageRequest);
|
|
|
|
|
+ PageList<AppDeploying> pageList = PageList.pageList(appDeployingPage);
|
|
|
|
|
+
|
|
|
|
|
+ model.addAttribute("page", appDeployingPage);
|
|
|
|
|
+ model.addAttribute("list", pageList.getList());
|
|
|
return "/app/status";
|
|
return "/app/status";
|
|
|
}
|
|
}
|
|
|
|
|
|