|
@@ -2,19 +2,15 @@ package cn.reghao.autodop.dmaster.app.service.bd;
|
|
|
|
|
|
|
|
import cn.reghao.autodop.common.message.AsyncMsg;
|
|
import cn.reghao.autodop.common.message.AsyncMsg;
|
|
|
import cn.reghao.autodop.common.message.MessageType;
|
|
import cn.reghao.autodop.common.message.MessageType;
|
|
|
-import cn.reghao.autodop.common.amqp.RpcResult;
|
|
|
|
|
import cn.reghao.autodop.common.message.AppOps;
|
|
import cn.reghao.autodop.common.message.AppOps;
|
|
|
-import cn.reghao.autodop.common.dagent.app.api.data.AppStatus;
|
|
|
|
|
import cn.reghao.autodop.common.dagent.app.api.data.deploy.AppDeployArgs;
|
|
import cn.reghao.autodop.common.dagent.app.api.data.deploy.AppDeployArgs;
|
|
|
import cn.reghao.autodop.common.docker.pojo.Config;
|
|
import cn.reghao.autodop.common.docker.pojo.Config;
|
|
|
import cn.reghao.autodop.common.mqtt.MqttPub;
|
|
import cn.reghao.autodop.common.mqtt.MqttPub;
|
|
|
import cn.reghao.autodop.common.utils.serializer.JsonConverter;
|
|
import cn.reghao.autodop.common.utils.serializer.JsonConverter;
|
|
|
import cn.reghao.autodop.dmaster.app.cache.BuildDeployCache;
|
|
import cn.reghao.autodop.dmaster.app.cache.BuildDeployCache;
|
|
|
-import cn.reghao.autodop.dmaster.app.constant.BuildDeployResult;
|
|
|
|
|
import cn.reghao.autodop.dmaster.app.entity.config.deploy.DeployConfig;
|
|
import cn.reghao.autodop.dmaster.app.entity.config.deploy.DeployConfig;
|
|
|
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.entity.log.DeployLog;
|
|
|
-import cn.reghao.autodop.dmaster.app.service.RemoteCallService;
|
|
|
|
|
import cn.reghao.autodop.dmaster.app.service.log.BuildDeployLogConsumer;
|
|
import cn.reghao.autodop.dmaster.app.service.log.BuildDeployLogConsumer;
|
|
|
import cn.reghao.autodop.dmaster.machine.entity.MachineInfo;
|
|
import cn.reghao.autodop.dmaster.machine.entity.MachineInfo;
|
|
|
import cn.reghao.autodop.dmaster.machine.entity.NetworkInfo;
|
|
import cn.reghao.autodop.dmaster.machine.entity.NetworkInfo;
|
|
@@ -37,18 +33,15 @@ import java.util.*;
|
|
|
public class AppDeployer {
|
|
public class AppDeployer {
|
|
|
private MqttPub mqttPub;
|
|
private MqttPub mqttPub;
|
|
|
private BuildDeployCache cache;
|
|
private BuildDeployCache cache;
|
|
|
- private RemoteCallService callService;
|
|
|
|
|
private BuildDeployLogConsumer logConsumer;
|
|
private BuildDeployLogConsumer logConsumer;
|
|
|
private MachineInfoRepository machineInfoRepository;
|
|
private MachineInfoRepository machineInfoRepository;
|
|
|
|
|
|
|
|
public AppDeployer(MqttPub mqttPub,
|
|
public AppDeployer(MqttPub mqttPub,
|
|
|
BuildDeployCache cache,
|
|
BuildDeployCache cache,
|
|
|
- RemoteCallService callService,
|
|
|
|
|
BuildDeployLogConsumer logConsumer,
|
|
BuildDeployLogConsumer logConsumer,
|
|
|
MachineInfoRepository machineInfoRepository) {
|
|
MachineInfoRepository machineInfoRepository) {
|
|
|
this.mqttPub = mqttPub;
|
|
this.mqttPub = mqttPub;
|
|
|
this.cache = cache;
|
|
this.cache = cache;
|
|
|
- this.callService = callService;
|
|
|
|
|
this.logConsumer = logConsumer;
|
|
this.logConsumer = logConsumer;
|
|
|
this.machineInfoRepository = machineInfoRepository;
|
|
this.machineInfoRepository = machineInfoRepository;
|
|
|
}
|
|
}
|
|
@@ -107,34 +100,7 @@ public class AppDeployer {
|
|
|
asyncMsgs.add(asyncMsg);
|
|
asyncMsgs.add(asyncMsg);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- Map<String, RpcResult> rpcResultMap = callService.call(asyncMsgs);
|
|
|
|
|
- LocalDateTime deployTime = LocalDateTime.now();
|
|
|
|
|
- List<DeployLog> deployLogs = new ArrayList<>();
|
|
|
|
|
- rpcResultMap.forEach((machineId, rpcResult) -> {
|
|
|
|
|
- DeployLog deployLog = DeployLog.from(buildLog);
|
|
|
|
|
- deployLog.setMachineId(machineId);
|
|
|
|
|
- String machineIpv4 = machineIpv4(machineId);
|
|
|
|
|
- deployLog.setMachineIpv4(machineIpv4);
|
|
|
|
|
- deployLog.setDeployTime(deployTime);
|
|
|
|
|
-
|
|
|
|
|
- deployLog.setStatusCode(rpcResult.getStatusCode());
|
|
|
|
|
- if (rpcResult.getStatusCode() == 0) {
|
|
|
|
|
- AppStatus appStatus =
|
|
|
|
|
- JsonConverter.jsonToObject(rpcResult.getResult(), AppStatus.class);
|
|
|
|
|
- appStatus.setAppType(buildLog.getAppType());
|
|
|
|
|
- appStatus.setEnv(buildLog.getEnv());
|
|
|
|
|
- appStatus.setCommitId(buildLog.getCommitInfo().getCommitId());
|
|
|
|
|
- appStatus.setMachineIpv4(machineIpv4);
|
|
|
|
|
-
|
|
|
|
|
- logConsumer.addAppStatus(appStatus);
|
|
|
|
|
- deployLog.setResult(BuildDeployResult.deployDone.getName());
|
|
|
|
|
- } else {
|
|
|
|
|
- deployLog.setResult(rpcResult.getResult());
|
|
|
|
|
- }
|
|
|
|
|
- deployLogs.add(deployLog);
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- return deployLogs;
|
|
|
|
|
|
|
+ return new ArrayList<>();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private String machineIpv4(String machineId) {
|
|
private String machineIpv4(String machineId) {
|