补充trigger代码块;
新增util/variable/version/wehHook模块;
task模块代码初步提交,包含子模块artifact/build/code/codescan;
调整部分service和impl位置,进行统一包路径管理,对service和impl相互关系做代码补充以及编译调试(可能影响部分原先包目录结构);
新增部分工具类/注解以及系统字段
This commit is contained in:
Hope Li 2025-05-05 21:01:32 +08:00
parent 9feee4fd45
commit 0eab7cbf4f
13 changed files with 153 additions and 12 deletions

View File

@ -1,4 +1,4 @@
package cd.casic.module.process.support.variable.model; package cd.casic.ci.commons.bean.process.definition;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;

View File

@ -0,0 +1,22 @@
package cd.casic.module.process.core.context;
/**
* @ClassName LoginContext
* @Author hopeli
* @Date 2025/5/5 20:54
* @Version 1.0
*/
public class LoginContext {
private static String loginId;
public LoginContext() {
}
public static String getLoginId() {
return loginId;
}
public static void setLoginId(String loginId) {
LoginContext.loginId = loginId;
}
}

View File

@ -4,7 +4,7 @@ import cd.casic.ci.commons.bean.engine.execute.PipelineDetails;
import cd.casic.ci.commons.bean.engine.execute.PipelineRunMsg; import cd.casic.ci.commons.bean.engine.execute.PipelineRunMsg;
import cd.casic.ci.commons.bean.engine.postprocess.Postprocess; import cd.casic.ci.commons.bean.engine.postprocess.Postprocess;
import cd.casic.ci.commons.bean.process.definition.Pipeline; import cd.casic.ci.commons.bean.process.definition.Pipeline;
import cd.casic.module.process.support.variable.model.Variable; import cd.casic.ci.commons.bean.process.definition.Variable;
import cd.casic.ci.commons.bean.process.instance.PipelineInstance; import cd.casic.ci.commons.bean.process.instance.PipelineInstance;
import cd.casic.ci.commons.bean.process.instance.PipelineInstanceQuery; import cd.casic.ci.commons.bean.process.instance.PipelineInstanceQuery;
import cd.casic.ci.commons.bean.process.setting.Scm; import cd.casic.ci.commons.bean.process.setting.Scm;

View File

@ -6,7 +6,7 @@ import cd.casic.ci.commons.bean.engine.execute.PipelineRunMsg;
import cd.casic.ci.commons.bean.engine.postprocess.Postprocess; import cd.casic.ci.commons.bean.engine.postprocess.Postprocess;
import cd.casic.ci.commons.bean.exception.SystemException; import cd.casic.ci.commons.bean.exception.SystemException;
import cd.casic.ci.commons.bean.process.definition.Pipeline; import cd.casic.ci.commons.bean.process.definition.Pipeline;
import cd.casic.module.process.support.variable.model.Variable; import cd.casic.ci.commons.bean.process.definition.Variable;
import cd.casic.ci.commons.bean.process.instance.PipelineInstance; import cd.casic.ci.commons.bean.process.instance.PipelineInstance;
import cd.casic.ci.commons.bean.process.instance.PipelineInstanceQuery; import cd.casic.ci.commons.bean.process.instance.PipelineInstanceQuery;
import cd.casic.ci.commons.bean.process.setting.Scm; import cd.casic.ci.commons.bean.process.setting.Scm;

View File

@ -1,9 +1,12 @@
package cd.casic.module.process.support.trigger.dao; package cd.casic.module.process.support.trigger.dao;
import cd.casic.framework.mybatis.core.mapper.BaseMapperX; import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
import cd.casic.module.process.support.trigger.dateObject.TriggerTime;
import cd.casic.module.process.support.trigger.entity.TriggerTimeDo; import cd.casic.module.process.support.trigger.entity.TriggerTimeDo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* @author by mianbin * @author by mianbin
* @Classname TriggerTimeDao * @Classname TriggerTimeDao
@ -13,4 +16,14 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface TriggerTimeDao extends BaseMapperX<TriggerTimeDo> { public interface TriggerTimeDao extends BaseMapperX<TriggerTimeDo> {
String createTime(TriggerTimeDo triggerTimeEntity); String createTime(TriggerTimeDo triggerTimeEntity);
void deleteTime(String timeId);
void updateTime(TriggerTimeDo triggerTimeEntity);
TriggerTimeDo findOneTime(String timeId);
List<TriggerTime> findAllTime();
List<TriggerTime> findAllTimeList(List<String> idList);
} }

View File

@ -57,4 +57,6 @@ public class TriggerTime {
*/ */
private String state; private String state;
private int taskType;
} }

View File

@ -18,7 +18,7 @@ import org.quartz.TriggerKey;
import org.quartz.impl.StdSchedulerFactory; import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.batch.BatchProperties.Job; import org.springframework.boot.autoconfigure.batch.BatchProperties;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -37,9 +37,9 @@ import java.util.Objects;
@Component @Component
@Scope("singleton") @Scope("singleton")
public class job { public class Job {
private static final Logger logger = LoggerFactory.getLogger(Job.class); private static final Logger logger = LoggerFactory.getLogger(BatchProperties.Job.class);
private static final SchedulerFactory schedulerFactory = new StdSchedulerFactory(); private static final SchedulerFactory schedulerFactory = new StdSchedulerFactory();

View File

@ -0,0 +1,87 @@
package cd.casic.module.process.support.trigger.quartz;
import cd.casic.ci.commons.bean.engine.execute.PipelineRunMsg;
import cd.casic.module.process.core.context.LoginContext;
import cd.casic.module.process.engine.execute.PipelineExecService;
import cd.casic.module.process.support.trigger.service.TriggerService;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class RunJob implements org.quartz.Job {
public static PipelineExecService execService;
public static Job job;
public static TriggerService triggerService;
private static final Logger logger = LoggerFactory.getLogger(RunJob.class);
@Autowired
public void setExecService(PipelineExecService execService) {
RunJob.execService = execService;
}
@Autowired
public void setQuartzManager(Job job) {
RunJob.job = job;
}
@Autowired
public void setTriggerConfigServer(TriggerService triggerService) {
RunJob.triggerService = triggerService;
}
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
JobDataMap map = jobExecutionContext.getMergedJobDataMap();
String pipelineId = (String)map.get("pipelineId");
String group = (String)map.get("group");
String weekTime = (String)map.get("weekTime");
String cron = (String)map.get("cron");
String triggerName = jobExecutionContext.getTrigger().getKey().getName();
logger.warn("定时任务触发,组:{},流水线:{} 时间:{}",group,pipelineId,weekTime);
String loginId = LoginContext.getLoginId();
PipelineRunMsg pipelineRunMsg = new PipelineRunMsg(pipelineId,loginId,2);
execService.start(pipelineRunMsg);
triggerService.updateTrigger(triggerName.split("_")[2]);
logger.warn("组:{},流水线:{},定时任务触发完成",group,pipelineId);
job.removeJob(group,triggerName);
}
}

View File

@ -1,21 +1,26 @@
package cd.casic.module.process.support.trigger.service.impl; package cd.casic.module.process.support.trigger.service.impl;
import cd.casic.ci.commons.bean.exception.ApplicationException; import cd.casic.ci.commons.bean.exception.ApplicationException;
import cd.casic.ci.commons.rpc.annototion.Exporter; import cd.casic.ci.commons.rpc.annototion.Exporter;
import cd.casic.module.process.support.trigger.dao.TriggerTimeDao; import cd.casic.module.process.support.trigger.dao.TriggerTimeDao;
import cd.casic.module.process.support.trigger.dateObject.TriggerTime; import cd.casic.module.process.support.trigger.dateObject.TriggerTime;
import cd.casic.module.process.support.trigger.entity.TriggerTimeDo; import cd.casic.module.process.support.trigger.entity.TriggerTimeDo;
import cd.casic.module.process.support.trigger.quartz.Job;
import cd.casic.module.process.support.trigger.quartz.RunJob;
import cd.casic.module.process.support.trigger.service.CronUtils; import cd.casic.module.process.support.trigger.service.CronUtils;
import cd.casic.module.process.support.trigger.service.TriggerTimeService; import cd.casic.module.process.support.trigger.service.TriggerTimeService;
import cd.casic.module.process.toolkit.beans.BeanMapper; import cd.casic.module.process.toolkit.beans.BeanMapper;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.boot.autoconfigure.batch.BatchProperties.Job; import org.quartz.SchedulerException;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static cd.casic.module.process.support.util.util.PipelineFinal.DEFAULT;
/** /**
* @ClassName TriggerTimeServiceImpl * @ClassName TriggerTimeServiceImpl
@ -199,13 +204,13 @@ public class TriggerTimeServiceImpl implements TriggerTimeService {
} }
public void updateTime(TriggerTime triggerTime) { public void updateTime(TriggerTime triggerTime) {
TriggerTimeEntity triggerTimeEntity = BeanMapper.map(triggerTime, TriggerTimeEntity.class); TriggerTimeDo triggerTimeEntity = BeanMapper.map(triggerTime, TriggerTimeDo.class);
triggerTimeDao.updateTime(triggerTimeEntity); triggerTimeDao.updateTime(triggerTimeEntity);
} }
@Override @Override
public TriggerTime findOneTime(String timeId) { public TriggerTime findOneTime(String timeId) {
TriggerTimeEntity timeEntity = triggerTimeDao.findOneTime(timeId); TriggerTimeDo timeEntity = triggerTimeDao.findOneTime(timeId);
return BeanMapper.map(timeEntity, TriggerTime.class); return BeanMapper.map(timeEntity, TriggerTime.class);
} }

View File

@ -2,7 +2,7 @@ package cd.casic.module.process.support.variable.dao;
import cd.casic.framework.mybatis.core.mapper.BaseMapperX; import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
import cd.casic.module.process.support.variable.dataobject.VariableDo; import cd.casic.module.process.support.variable.dataobject.VariableDo;
import cd.casic.module.process.support.variable.model.Variable; import cd.casic.ci.commons.bean.process.definition.Variable;
import cd.casic.module.process.support.variable.model.VariableQuery; import cd.casic.module.process.support.variable.model.VariableQuery;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;

View File

@ -1,6 +1,6 @@
package cd.casic.module.process.support.variable.service; package cd.casic.module.process.support.variable.service;
import cd.casic.module.process.support.variable.model.Variable; import cd.casic.ci.commons.bean.process.definition.Variable;
import cd.casic.module.process.support.variable.model.VariableQuery; import cd.casic.module.process.support.variable.model.VariableQuery;
import java.util.List; import java.util.List;

View File

@ -1,5 +1,8 @@
package cd.casic.module.process.support.variable.service.impl; package cd.casic.module.process.support.variable.service.impl;
import cd.casic.module.process.support.variable.model.ExecVariable;
import cd.casic.module.process.support.variable.service.ExecVariableService;
/** /**
* @ClassName ExecVariableServiceImpl * @ClassName ExecVariableServiceImpl
* @Author hopeli * @Author hopeli
@ -7,4 +10,13 @@ package cd.casic.module.process.support.variable.service.impl;
* @Version 1.0 * @Version 1.0
*/ */
public class ExecVariableServiceImpl implements ExecVariableService { public class ExecVariableServiceImpl implements ExecVariableService {
@Override
public void initPipelineVariable(String pipelineId, String taskId) {
}
@Override
public void addExecVariable(ExecVariable variable) {
}
} }

View File

@ -3,7 +3,7 @@ package cd.casic.module.process.support.variable.service.impl;
import cd.casic.ci.commons.bean.utils.PipelineUtil; import cd.casic.ci.commons.bean.utils.PipelineUtil;
import cd.casic.module.process.support.variable.dao.VariableDao; import cd.casic.module.process.support.variable.dao.VariableDao;
import cd.casic.module.process.support.variable.dataobject.VariableDo; import cd.casic.module.process.support.variable.dataobject.VariableDo;
import cd.casic.module.process.support.variable.model.Variable; import cd.casic.ci.commons.bean.process.definition.Variable;
import cd.casic.module.process.support.variable.model.VariableQuery; import cd.casic.module.process.support.variable.model.VariableQuery;
import cd.casic.module.process.support.variable.service.VariableService; import cd.casic.module.process.support.variable.service.VariableService;
import cd.casic.module.process.toolkit.beans.BeanMapper; import cd.casic.module.process.toolkit.beans.BeanMapper;