|
|
@@ -8,6 +8,7 @@ import cn.reghao.autodop.common.dagent.app.api.data.deploy.AppDeployArgs;
|
|
|
import cn.reghao.autodop.common.amqp.RabbitProducer;
|
|
|
import cn.reghao.autodop.common.dagent.machine.api.data.MachineRegistry;
|
|
|
import cn.reghao.autodop.common.dagent.machine.hardware.network.NetworkInfo;
|
|
|
+import cn.reghao.autodop.common.dockerc.pojo.Config;
|
|
|
import cn.reghao.autodop.common.utils.data.serializer.JsonConverter;
|
|
|
import cn.reghao.autodop.dmaster.app.entity.deploy.DeployConfig;
|
|
|
import cn.reghao.autodop.dmaster.app.entity.log.DeployLog;
|
|
|
@@ -48,19 +49,21 @@ public class AppDeployer {
|
|
|
* @return
|
|
|
* @date 2020-03-13 下午1:00
|
|
|
*/
|
|
|
- public DeployLog deploy(String appId, String packagePath, DeployConfig deployConfig) {
|
|
|
- AppDeployArgs appDeployArgs = new AppDeployArgs();
|
|
|
- appDeployArgs.setAppId(appId);
|
|
|
- appDeployArgs.setPackagePath(packagePath);
|
|
|
- appDeployArgs.setPackerType(deployConfig.getPackerType());
|
|
|
- appDeployArgs.setStartHome(deployConfig.getStartHome());
|
|
|
- appDeployArgs.setStartScript(deployConfig.getStartScript());
|
|
|
- appDeployArgs.setDockerConfig(deployConfig.getDockerConfig());
|
|
|
+ public DeployLog deploy(String appId, String packagePath, List<DeployConfig> deployConfigs) {
|
|
|
+ Map<String, Future<RPCResult>> futureMap = new HashMap<>(deployConfigs.size());
|
|
|
+ for (DeployConfig deployConfig : deployConfigs) {
|
|
|
+ AppDeployArgs appDeployArgs = new AppDeployArgs();
|
|
|
+ appDeployArgs.setAppId(appId);
|
|
|
+ appDeployArgs.setPackagePath(packagePath);
|
|
|
+ appDeployArgs.setPackerType(deployConfig.getPackerType());
|
|
|
+ appDeployArgs.setStartHome(deployConfig.getStartHome());
|
|
|
+ appDeployArgs.setStartScript(deployConfig.getStartScript());
|
|
|
+ String config = deployConfig.getDockerConfig();
|
|
|
+ appDeployArgs.setDockerConfig(config);
|
|
|
|
|
|
- Map<String, Future<RPCResult>> futureMap = new HashMap<>(deployConfig.getMachineIds().size());
|
|
|
- deployConfig.getMachineIds().forEach(machineId -> {
|
|
|
+ String machineId = deployConfig.getMachineId();
|
|
|
futureMap.put(machineId, threadPool.submit(new DeployTask(machineId, appDeployArgs)));
|
|
|
- });
|
|
|
+ }
|
|
|
|
|
|
DeployLog deployLog = new DeployLog();
|
|
|
deployLog.setAppId(appId);
|