|
|
@@ -35,6 +35,7 @@ public class K8sJobHandler extends AbstractHandler{
|
|
|
|
|
|
@Override
|
|
|
public void process(Context context) throws PipelineException {
|
|
|
+ context.appendSuccessResult("成功开始执行K8sHandler");
|
|
|
// 0 变量
|
|
|
// imageName 是 namespace-deployName-sonar
|
|
|
// 例如 semobile id=248 项目的 imageName=semobile-248-haha-sonar
|
|
|
@@ -49,12 +50,14 @@ public class K8sJobHandler extends AbstractHandler{
|
|
|
// K8sConstants.JOB_SUFFIX = -job, 例如流水线叫做haha, jobname = haha-job
|
|
|
String jobName = deployName + K8sConstants.JOB_SUFFIX;
|
|
|
|
|
|
+ context.appendSuccessResult("变量准备完成,开始配置容器");
|
|
|
// 1 配置容器
|
|
|
Container container = Container.builder()
|
|
|
.image(applicationProperties.getDocker().getRegistry() + "/" + imageName + ":" + imageTag)
|
|
|
.name(deployName + K8sConstants.CONTAINER_SUFFIX)
|
|
|
.build();
|
|
|
|
|
|
+ context.appendSuccessResult("容器配置完成,开始构建Job");
|
|
|
// 2 构建Job
|
|
|
Job job = Job.builder()
|
|
|
.containers(Collections.singletonList(container))
|
|
|
@@ -63,6 +66,7 @@ public class K8sJobHandler extends AbstractHandler{
|
|
|
job.setNamespace(namespace);
|
|
|
job.setLabel(K8sConstants.JOB_LABEL, deployName);
|
|
|
|
|
|
+ context.appendSuccessResult("Job配置完成,开始检查仓库Secret");
|
|
|
// 2 检查和配置 Secret
|
|
|
SecretVO secretVO = secretApi.getSecretByName(namespace, DEFAULT_IMAGE_PULL_SECRET_NAME);
|
|
|
if (secretVO == null) {
|
|
|
@@ -76,6 +80,7 @@ public class K8sJobHandler extends AbstractHandler{
|
|
|
}
|
|
|
job.setImagePullSecrets(Collections.singletonList(DEFAULT_IMAGE_PULL_SECRET_NAME));
|
|
|
|
|
|
+ context.appendSuccessResult("Secret已确认,开始创建Job");
|
|
|
// 3 创建Job
|
|
|
try {
|
|
|
List<Job> jobs = jobApi.getByCondition(K8sObjectRequest.builder()
|
|
|
@@ -84,9 +89,11 @@ public class K8sJobHandler extends AbstractHandler{
|
|
|
.build());
|
|
|
if (jobs.size() == 0){
|
|
|
jobApi.create(job);
|
|
|
- log.info(String.format("job创建成功: [namespace: %s, deployName: %s]", namespace, deployName));
|
|
|
+ log.info(String.format("Job创建成功: [namespace: %s, deployName: %s]", namespace, deployName));
|
|
|
+ context.appendSuccessResult(String.format("Job创建成功: [namespace: %s, deployName: %s]", namespace, deployName));
|
|
|
} else {
|
|
|
log.info("job已存在!放弃创建");
|
|
|
+ context.appendErrorResult("Job已存在,放弃创建", new Exception());
|
|
|
}
|
|
|
} catch (K8sApiException e) {
|
|
|
context.appendErrorResult(PipelineException.JOB_CREATE_ERROR, e);
|