新的worker添加,等待审批节点预留
This commit is contained in:
parent
7d38e59482
commit
de80ed56fe
@ -6,23 +6,18 @@ import cd.casic.ci.process.engine.manager.RunContextManager;
|
|||||||
import cd.casic.ci.process.engine.manager.WorkerManager;
|
import cd.casic.ci.process.engine.manager.WorkerManager;
|
||||||
import cd.casic.ci.process.engine.message.TaskRunMessage;
|
import cd.casic.ci.process.engine.message.TaskRunMessage;
|
||||||
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
||||||
import cd.casic.ci.process.engine.worker.BaseWorker;
|
import cd.casic.ci.process.engine.worker.base.BaseWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
||||||
import cd.casic.framework.commons.exception.ServiceException;
|
import cd.casic.framework.commons.exception.ServiceException;
|
||||||
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
|
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
|
||||||
import cd.casic.framework.mq.redis.core.stream.AbstractRedisStreamMessageListener;
|
|
||||||
import jakarta.annotation.PostConstruct;
|
import jakarta.annotation.PostConstruct;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jodd.util.StringUtil;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeansException;
|
import org.springframework.beans.BeansException;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
|
||||||
import org.springframework.beans.factory.config.BeanDefinition;
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.ApplicationContextAware;
|
|
||||||
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
|
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
|
||||||
import org.springframework.core.annotation.AnnotatedElementUtils;
|
|
||||||
import org.springframework.core.type.filter.AnnotationTypeFilter;
|
import org.springframework.core.type.filter.AnnotationTypeFilter;
|
||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
@ -3,28 +3,15 @@ package cd.casic.ci.process.engine.worker;
|
|||||||
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
||||||
import cd.casic.ci.process.engine.constant.AFLConstant;
|
import cd.casic.ci.process.engine.constant.AFLConstant;
|
||||||
import cd.casic.ci.process.engine.constant.DIYImageExecuteCommandConstant;
|
import cd.casic.ci.process.engine.constant.DIYImageExecuteCommandConstant;
|
||||||
import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
|
|
||||||
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
|
||||||
import cd.casic.ci.process.engine.runContext.PipelineRunContext;
|
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
import cd.casic.ci.process.engine.worker.base.SshWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
|
||||||
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
|
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
|
||||||
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
||||||
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
|
|
||||||
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
||||||
import cd.casic.ci.process.process.service.target.TargetVersionService;
|
|
||||||
import cd.casic.ci.process.util.CryptogramUtil;
|
import cd.casic.ci.process.util.CryptogramUtil;
|
||||||
import cd.casic.framework.commons.exception.ServiceException;
|
|
||||||
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
|
|
||||||
import com.jcraft.jsch.*;
|
|
||||||
import jakarta.annotation.Resource;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Plugin(taskType = "AFL")
|
@Plugin(taskType = "AFL")
|
||||||
|
@ -4,8 +4,8 @@ import cd.casic.ci.common.pipeline.annotation.Plugin;
|
|||||||
import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
|
import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
|
||||||
import cd.casic.ci.process.engine.context.ConstantContextHolder;
|
import cd.casic.ci.process.engine.context.ConstantContextHolder;
|
||||||
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
||||||
import cd.casic.ci.process.engine.runContext.PipelineRunContext;
|
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.HttpWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
||||||
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
||||||
@ -41,7 +41,7 @@ import java.util.*;
|
|||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Plugin(taskType = "application")
|
@Plugin(taskType = "APPLICATION")
|
||||||
public class ApplicationWorker extends HttpWorker {
|
public class ApplicationWorker extends HttpWorker {
|
||||||
private static final int POLLING_INTERVAL = 5000; // 轮询间隔,单位:毫秒
|
private static final int POLLING_INTERVAL = 5000; // 轮询间隔,单位:毫秒
|
||||||
private static final int MAX_POLLING_TIMES = 100; // 最大退出次数
|
private static final int MAX_POLLING_TIMES = 100; // 最大退出次数
|
||||||
|
@ -4,6 +4,7 @@ import cd.casic.ci.common.pipeline.annotation.Plugin;
|
|||||||
import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
|
import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
|
||||||
import cd.casic.ci.process.engine.context.ConstantContextHolder;
|
import cd.casic.ci.process.engine.context.ConstantContextHolder;
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.HttpWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
||||||
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
||||||
@ -29,7 +30,7 @@ import java.util.*;
|
|||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Plugin(taskType = "coding")
|
@Plugin(taskType = "CODING")
|
||||||
public class CodingWorker extends HttpWorker {
|
public class CodingWorker extends HttpWorker {
|
||||||
|
|
||||||
private static final int POLLING_INTERVAL = 5000; // 轮询间隔,单位:毫秒
|
private static final int POLLING_INTERVAL = 5000; // 轮询间隔,单位:毫秒
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
package cd.casic.ci.process.engine.worker;
|
||||||
|
|
||||||
|
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
||||||
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.BaseWorker;
|
||||||
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自定义编译
|
||||||
|
* */
|
||||||
|
@Slf4j
|
||||||
|
@Plugin(taskType = "CUSTOM_COMPILE")
|
||||||
|
public class CustomCompilerWorker extends BaseWorker {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(TaskRunContext context) {
|
||||||
|
PipBaseElement contextDef = context.getContextDef();
|
||||||
|
String id = contextDef.getId();
|
||||||
|
log.info("==============触发worker执行========");
|
||||||
|
log.info("==========运行context:{}===========", JSON.toJSONString(context));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
package cd.casic.ci.process.engine.worker;
|
||||||
|
|
||||||
|
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
||||||
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.BaseWorker;
|
||||||
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据库模糊测试
|
||||||
|
* */
|
||||||
|
@Slf4j
|
||||||
|
@Plugin(taskType = "DB_FUZZ_TESTING")
|
||||||
|
public class DBFuzzTestingWorker extends BaseWorker {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(TaskRunContext context) {
|
||||||
|
PipBaseElement contextDef = context.getContextDef();
|
||||||
|
String id = contextDef.getId();
|
||||||
|
log.info("==============触发worker执行========");
|
||||||
|
log.info("==========运行context:{}===========", JSON.toJSONString(context));
|
||||||
|
}
|
||||||
|
}
|
@ -4,19 +4,14 @@ import cd.casic.ci.common.pipeline.annotation.Plugin;
|
|||||||
import cd.casic.ci.process.engine.constant.DIYImageExecuteCommandConstant;
|
import cd.casic.ci.process.engine.constant.DIYImageExecuteCommandConstant;
|
||||||
import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
|
import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
import cd.casic.ci.process.engine.worker.base.SshWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
||||||
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
|
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
|
||||||
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
||||||
import cd.casic.framework.commons.exception.ServiceException;
|
|
||||||
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自定义镜像执行命令
|
* 自定义镜像执行命令
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
package cd.casic.ci.process.engine.worker;
|
||||||
|
|
||||||
|
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
||||||
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.BaseWorker;
|
||||||
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sast
|
||||||
|
* */
|
||||||
|
@Slf4j
|
||||||
|
@Plugin(taskType = "SAST")
|
||||||
|
public class SastWorker extends BaseWorker {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(TaskRunContext context) {
|
||||||
|
PipBaseElement contextDef = context.getContextDef();
|
||||||
|
String id = contextDef.getId();
|
||||||
|
log.info("==============触发worker执行========");
|
||||||
|
log.info("==========运行context:{}===========", JSON.toJSONString(context));
|
||||||
|
}
|
||||||
|
}
|
@ -4,6 +4,7 @@ import cd.casic.ci.common.pipeline.annotation.Plugin;
|
|||||||
import cd.casic.ci.process.engine.context.ConstantContextHolder;
|
import cd.casic.ci.process.engine.context.ConstantContextHolder;
|
||||||
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.HttpWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
||||||
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
|
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
|
||||||
@ -38,7 +39,7 @@ import java.util.*;
|
|||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Plugin(taskType = "binary")
|
@Plugin(taskType = "BINARY")
|
||||||
public class ScaBinaryWorker extends HttpWorker {
|
public class ScaBinaryWorker extends HttpWorker {
|
||||||
|
|
||||||
private static final int POLLING_INTERVAL = 5000; // 轮询间隔,单位:毫秒
|
private static final int POLLING_INTERVAL = 5000; // 轮询间隔,单位:毫秒
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
package cd.casic.ci.process.engine.worker;
|
package cd.casic.ci.process.engine.worker;
|
||||||
|
|
||||||
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
||||||
import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
|
|
||||||
import cd.casic.ci.process.engine.context.ConstantContextHolder;
|
import cd.casic.ci.process.engine.context.ConstantContextHolder;
|
||||||
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.HttpWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
|
||||||
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
||||||
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
|
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
|
||||||
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
||||||
@ -41,7 +40,7 @@ import java.util.*;
|
|||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Plugin(taskType = "mirror")
|
@Plugin(taskType = "MIRROR")
|
||||||
public class ScaMirrorWorker extends HttpWorker {
|
public class ScaMirrorWorker extends HttpWorker {
|
||||||
|
|
||||||
private static final int POLLING_INTERVAL = 5000; // 轮询间隔,单位:毫秒
|
private static final int POLLING_INTERVAL = 5000; // 轮询间隔,单位:毫秒
|
||||||
|
@ -5,6 +5,7 @@ import cd.casic.ci.process.engine.constant.EngineRuntimeConstant;
|
|||||||
import cd.casic.ci.process.engine.context.ConstantContextHolder;
|
import cd.casic.ci.process.engine.context.ConstantContextHolder;
|
||||||
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.HttpWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
||||||
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
||||||
|
@ -2,6 +2,7 @@ package cd.casic.ci.process.engine.worker;
|
|||||||
|
|
||||||
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.BaseWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
|
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
|
||||||
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
||||||
@ -13,7 +14,6 @@ import cd.casic.ci.process.util.CryptogramUtil;
|
|||||||
import cd.casic.ci.process.util.SftpUploadUtil;
|
import cd.casic.ci.process.util.SftpUploadUtil;
|
||||||
import cd.casic.framework.commons.exception.ServiceException;
|
import cd.casic.framework.commons.exception.ServiceException;
|
||||||
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
|
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package cd.casic.ci.process.engine.worker;
|
package cd.casic.ci.process.engine.worker;
|
||||||
|
|
||||||
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
||||||
import cd.casic.ci.process.engine.constant.AFLConstant;
|
|
||||||
import cd.casic.ci.process.engine.constant.DIYImageExecuteCommandConstant;
|
import cd.casic.ci.process.engine.constant.DIYImageExecuteCommandConstant;
|
||||||
import cd.casic.ci.process.engine.constant.TestCaseGenerationConstant;
|
import cd.casic.ci.process.engine.constant.TestCaseGenerationConstant;
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.SshWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
|
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
|
||||||
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
||||||
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
||||||
|
@ -2,6 +2,7 @@ package cd.casic.ci.process.engine.worker;
|
|||||||
|
|
||||||
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.BaseWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package cd.casic.ci.process.engine.worker;
|
package cd.casic.ci.process.engine.worker;
|
||||||
|
|
||||||
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
|
||||||
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.BaseWorker;
|
||||||
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
package cd.casic.ci.process.engine.worker;
|
||||||
|
|
||||||
|
import cd.casic.ci.common.pipeline.annotation.Plugin;
|
||||||
|
import cd.casic.ci.process.engine.runContext.TaskRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.BaseWorker;
|
||||||
|
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单元测试
|
||||||
|
* */
|
||||||
|
@Slf4j
|
||||||
|
@Plugin(taskType = "UNIT_TESTING")
|
||||||
|
public class UnitTestingWorker extends BaseWorker {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(TaskRunContext context) {
|
||||||
|
PipBaseElement contextDef = context.getContextDef();
|
||||||
|
String id = contextDef.getId();
|
||||||
|
log.info("==============触发worker执行========");
|
||||||
|
log.info("==========运行context:{}===========", JSON.toJSONString(context));
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.ci.process.engine.worker;
|
package cd.casic.ci.process.engine.worker.base;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.ci.process.constant.CommandConstant;
|
import cd.casic.ci.process.constant.CommandConstant;
|
||||||
@ -58,12 +58,12 @@ public abstract class BaseWorker implements Runnable{
|
|||||||
if (context instanceof TaskRunContext taskRunContext){
|
if (context instanceof TaskRunContext taskRunContext){
|
||||||
try {
|
try {
|
||||||
taskRunContext.changeContextState(ContextStateEnum.READY);
|
taskRunContext.changeContextState(ContextStateEnum.READY);
|
||||||
|
if (this instanceof PassableWorker passableWorker) {
|
||||||
|
taskRunContext.changeContextState(ContextStateEnum.SUSPEND);
|
||||||
|
passableWorker.waitForPermission();
|
||||||
|
} else {
|
||||||
taskRunContext.changeContextState(ContextStateEnum.RUNNING);
|
taskRunContext.changeContextState(ContextStateEnum.RUNNING);
|
||||||
PipBaseElement contextDef = taskRunContext.getContextDef();
|
}
|
||||||
PipTaskLog pipTaskLog = new PipTaskLog();
|
|
||||||
pipTaskLog.setId(contextDef.getId());
|
|
||||||
pipTaskLog.setContent("");
|
|
||||||
taskRunContext.getLocalVariables().put(EngineRuntimeConstant.LOG_KEY,pipTaskLog);
|
|
||||||
execute(taskRunContext);
|
execute(taskRunContext);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("================worker执行报错:",e);
|
log.error("================worker执行报错:",e);
|
@ -1,6 +1,7 @@
|
|||||||
package cd.casic.ci.process.engine.worker;
|
package cd.casic.ci.process.engine.worker.base;
|
||||||
|
|
||||||
|
|
||||||
|
import cd.casic.ci.process.engine.worker.base.BaseWorker;
|
||||||
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
|
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
|
||||||
import org.apache.hc.client5.http.impl.classic.HttpClients;
|
import org.apache.hc.client5.http.impl.classic.HttpClients;
|
||||||
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
|
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
|
||||||
@ -15,7 +16,6 @@ import javax.net.ssl.SSLContext;
|
|||||||
import java.security.KeyManagementException;
|
import java.security.KeyManagementException;
|
||||||
import java.security.KeyStoreException;
|
import java.security.KeyStoreException;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
import java.security.cert.X509Certificate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author HopeLi
|
* @author HopeLi
|
@ -0,0 +1,10 @@
|
|||||||
|
package cd.casic.ci.process.engine.worker.base;
|
||||||
|
|
||||||
|
import cd.casic.ci.process.engine.enums.ContextStateEnum;
|
||||||
|
|
||||||
|
public abstract class PassableWorker extends BaseWorker{
|
||||||
|
/**
|
||||||
|
* 这个方法用于阻塞
|
||||||
|
* */
|
||||||
|
public abstract void waitForPermission();
|
||||||
|
}
|
@ -1,9 +1,9 @@
|
|||||||
package cd.casic.ci.process.engine.worker;
|
package cd.casic.ci.process.engine.worker.base;
|
||||||
|
|
||||||
import cd.casic.ci.process.constant.CommandConstant;
|
import cd.casic.ci.process.constant.CommandConstant;
|
||||||
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
import cd.casic.ci.process.engine.runContext.BaseRunContext;
|
||||||
|
import cd.casic.ci.process.engine.worker.base.BaseWorker;
|
||||||
import cd.casic.ci.process.enums.MachineSystemEnum;
|
import cd.casic.ci.process.enums.MachineSystemEnum;
|
||||||
import cd.casic.ci.process.process.dataObject.log.PipTaskLog;
|
|
||||||
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
|
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
|
||||||
import cd.casic.ci.process.ssh.SshClient;
|
import cd.casic.ci.process.ssh.SshClient;
|
||||||
import cd.casic.ci.process.ssh.SshClientFactory;
|
import cd.casic.ci.process.ssh.SshClientFactory;
|
@ -141,7 +141,7 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
|
|||||||
PipTask childTask11 = new PipTask();
|
PipTask childTask11 = new PipTask();
|
||||||
childTask11.setCreateTime(LocalDateTime.now());
|
childTask11.setCreateTime(LocalDateTime.now());
|
||||||
childTask11.setCreator(String.valueOf(WebFrameworkUtils.getLoginUserId()));
|
childTask11.setCreator(String.valueOf(WebFrameworkUtils.getLoginUserId()));
|
||||||
childTask11.setTaskName("串行任务-1-1");
|
childTask11.setTaskName("目标");
|
||||||
childTask11.setPipelineId(pipeline.getId());
|
childTask11.setPipelineId(pipeline.getId());
|
||||||
childTask11.setTaskType("code");
|
childTask11.setTaskType("code");
|
||||||
childTask11.setTaskSort(1);
|
childTask11.setTaskSort(1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user