|
@@ -1,6 +1,7 @@
|
|
|
package seecoder.devcloud.core.pipeline.handler;
|
|
package seecoder.devcloud.core.pipeline.handler;
|
|
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import org.apache.http.HttpStatus;
|
|
|
import seecoder.devcloud.api.ApplicationProperties;
|
|
import seecoder.devcloud.api.ApplicationProperties;
|
|
|
import seecoder.devcloud.api.k8s.DeploymentApi;
|
|
import seecoder.devcloud.api.k8s.DeploymentApi;
|
|
|
import seecoder.devcloud.api.k8s.K8sConstants;
|
|
import seecoder.devcloud.api.k8s.K8sConstants;
|
|
@@ -9,14 +10,12 @@ import seecoder.devcloud.api.k8s.exception.K8sApiException;
|
|
|
import seecoder.devcloud.api.k8s.model.Container;
|
|
import seecoder.devcloud.api.k8s.model.Container;
|
|
|
import seecoder.devcloud.api.k8s.model.ContainerPort;
|
|
import seecoder.devcloud.api.k8s.model.ContainerPort;
|
|
|
import seecoder.devcloud.api.k8s.model.Deployment;
|
|
import seecoder.devcloud.api.k8s.model.Deployment;
|
|
|
-import seecoder.devcloud.api.k8s.util.SecretTypeEnum;
|
|
|
|
|
import seecoder.devcloud.api.k8s.vo.SecretVO;
|
|
import seecoder.devcloud.api.k8s.vo.SecretVO;
|
|
|
import seecoder.devcloud.common.util.SpringUtil;
|
|
import seecoder.devcloud.common.util.SpringUtil;
|
|
|
import seecoder.devcloud.core.pipeline.Context;
|
|
import seecoder.devcloud.core.pipeline.Context;
|
|
|
|
|
+import seecoder.devcloud.core.pipeline.PipelineException;
|
|
|
|
|
|
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
|
-import java.util.List;
|
|
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @author PuHong Weng
|
|
* @author PuHong Weng
|
|
@@ -38,7 +37,7 @@ public class K8sDeploymentHandler extends AbstractHandler {
|
|
|
|
|
|
|
|
private final static String DEFAULT_IMAGE_PULL_SECRET_NAME = "seecoder-devcloud-image-pull-secret";
|
|
private final static String DEFAULT_IMAGE_PULL_SECRET_NAME = "seecoder-devcloud-image-pull-secret";
|
|
|
|
|
|
|
|
- public K8sDeploymentHandler(ApplicationProperties applicationProperties) {
|
|
|
|
|
|
|
+ public K8sDeploymentHandler() {
|
|
|
this.applicationProperties = SpringUtil.getBean(ApplicationProperties.class);
|
|
this.applicationProperties = SpringUtil.getBean(ApplicationProperties.class);
|
|
|
secretApi = SpringUtil.getBean(SecretApi.class);
|
|
secretApi = SpringUtil.getBean(SecretApi.class);
|
|
|
deploymentApi = SpringUtil.getBean(DeploymentApi.class);
|
|
deploymentApi = SpringUtil.getBean(DeploymentApi.class);
|
|
@@ -51,9 +50,9 @@ public class K8sDeploymentHandler extends AbstractHandler {
|
|
|
* @param context
|
|
* @param context
|
|
|
*/
|
|
*/
|
|
|
@Override
|
|
@Override
|
|
|
- public void process(Context context) {
|
|
|
|
|
|
|
+ public void process(Context context) throws PipelineException {
|
|
|
//配置初始化
|
|
//配置初始化
|
|
|
- String imageName = context.getConfigs().getOrDefault("imageName", "");
|
|
|
|
|
|
|
+ String imageName = context.getConfigs().get("imageName");
|
|
|
int port = Integer.parseInt(context.getConfigs().getOrDefault("port", "8000"));
|
|
int port = Integer.parseInt(context.getConfigs().getOrDefault("port", "8000"));
|
|
|
int replicas = Integer.parseInt(context.getConfigs().getOrDefault("replicas", "1"));
|
|
int replicas = Integer.parseInt(context.getConfigs().getOrDefault("replicas", "1"));
|
|
|
String namespace = context.getNamespace();
|
|
String namespace = context.getNamespace();
|
|
@@ -92,7 +91,7 @@ public class K8sDeploymentHandler extends AbstractHandler {
|
|
|
applicationProperties.getDocker().getRegistryPassword()
|
|
applicationProperties.getDocker().getRegistryPassword()
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
- deployment.setImagePullSecrets(Collections.singletonList(secretVO.getName()));
|
|
|
|
|
|
|
+ deployment.setImagePullSecrets(Collections.singletonList(DEFAULT_IMAGE_PULL_SECRET_NAME));
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
deploymentApi.create(deployment);
|
|
deploymentApi.create(deployment);
|
|
@@ -102,7 +101,7 @@ public class K8sDeploymentHandler extends AbstractHandler {
|
|
|
deploymentApi.update(deployment);
|
|
deploymentApi.update(deployment);
|
|
|
log.info("deployment更新成功");
|
|
log.info("deployment更新成功");
|
|
|
} else {
|
|
} else {
|
|
|
- throw e;
|
|
|
|
|
|
|
+ throw new PipelineException(HttpStatus.SC_SERVICE_UNAVAILABLE,PipelineException.DEPLOYMENT_CREATE_ERROR,e);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|