diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/BaseWorker.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/BaseWorker.java index de6b0fbf..5448a275 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/BaseWorker.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/BaseWorker.java @@ -2,12 +2,15 @@ package cd.casic.ci.process.engine.worker; import cd.casic.ci.process.constant.CommandConstant; +import cd.casic.ci.process.engine.constant.EngineRuntimeConstant; import cd.casic.ci.process.engine.enums.ContextStateEnum; import cd.casic.ci.process.engine.manager.RunContextManager; import cd.casic.ci.process.engine.runContext.BaseRunContext; import cd.casic.ci.process.engine.runContext.TaskRunContext; import cd.casic.ci.process.enums.MachineSystemEnum; +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.machine.MachineInfo; import cd.casic.ci.process.process.service.machine.MachineInfoService; @@ -49,6 +52,11 @@ public abstract class BaseWorker implements Runnable{ try { taskRunContext.changeContextState(ContextStateEnum.READY); 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); } catch (Exception e) { taskRunContext.changeContextState(ContextStateEnum.BAD_ENDING); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/log/PipPipelineTaskLog.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/log/PipTaskLog.java similarity index 85% rename from modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/log/PipPipelineTaskLog.java rename to modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/log/PipTaskLog.java index 0b18519b..bd9b1a23 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/log/PipPipelineTaskLog.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/log/PipTaskLog.java @@ -6,7 +6,7 @@ import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = true) @Data -public class PipPipelineTaskLog extends BaseDO { +public class PipTaskLog extends BaseDO { private String taskId; private String content; private String id; diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/TaskService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/TaskService.java index 6200a401..63cf96a2 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/TaskService.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/TaskService.java @@ -3,6 +3,7 @@ package cd.casic.ci.process.process.service.task; import cd.casic.ci.common.pipeline.req.stage.StageCreateReq; import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq; import cd.casic.ci.common.pipeline.resp.task.TasksResp; +import cd.casic.ci.process.process.dataObject.log.PipTaskLog; import cd.casic.ci.process.process.dataObject.task.PipTask; import cd.casic.framework.commons.pojo.CommonResult; import com.baomidou.mybatisplus.extension.service.IService; @@ -22,5 +23,5 @@ public interface TaskService extends IService { void copyTask(String taskId); Boolean updateTask(@RequestBody TaskUpdateReq req); - CommonResult getLogContentByTaskId(@PathVariable String taskId); + CommonResult getLogContentByTaskId(@PathVariable String taskId); } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/impl/TaskServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/impl/TaskServiceImpl.java index 1b013f23..f287be7c 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/impl/TaskServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/task/impl/TaskServiceImpl.java @@ -1,35 +1,29 @@ package cd.casic.ci.process.process.service.task.impl; -import cd.casic.ci.common.pipeline.annotation.Plugin; import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq; import cd.casic.ci.common.pipeline.resp.task.TasksResp; -import cd.casic.ci.process.process.dal.pipeline.PipStageDao; +import cd.casic.ci.process.engine.constant.EngineRuntimeConstant; +import cd.casic.ci.process.engine.manager.RunContextManager; +import cd.casic.ci.process.engine.runContext.BaseRunContext; import cd.casic.ci.process.process.dal.pipeline.PipTaskDao; +import cd.casic.ci.process.process.dataObject.log.PipTaskLog; import cd.casic.ci.process.process.dataObject.task.PipTask; -import cd.casic.ci.process.process.service.stage.StageService; import cd.casic.ci.process.process.service.task.TaskService; import cd.casic.framework.commons.exception.ServiceException; import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants; +import cd.casic.framework.commons.pojo.CommonResult; import cd.casic.framework.commons.util.util.WebFrameworkUtils; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider; -import org.springframework.core.type.filter.AnnotationTypeFilter; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; @@ -38,6 +32,8 @@ import java.util.*; public class TaskServiceImpl extends ServiceImpl implements TaskService { @Resource private PipTaskDao taskDao; + @Resource + private RunContextManager contextManager; @Override @@ -122,4 +118,16 @@ public class TaskServiceImpl extends ServiceImpl implements byId.setUpdateTime(LocalDateTime.now()); return updateById(byId); } + + @Override + public CommonResult getLogContentByTaskId(String taskId) { + BaseRunContext context = contextManager.getContext(taskId); + if (context==null) { + return CommonResult.success(new PipTaskLog()); + } + if (context.getLocalVariables().get(EngineRuntimeConstant.LOG_KEY) instanceof PipTaskLog log) { + return CommonResult.success(log); + } + return CommonResult.success(new PipTaskLog()); + } } diff --git a/ops-server/src/main/java/cd/casic/server/controller/TasksController.java b/ops-server/src/main/java/cd/casic/server/controller/TasksController.java index a2277716..6163aad7 100644 --- a/ops-server/src/main/java/cd/casic/server/controller/TasksController.java +++ b/ops-server/src/main/java/cd/casic/server/controller/TasksController.java @@ -1,20 +1,15 @@ package cd.casic.server.controller; -import cd.casic.ci.common.pipeline.req.task.TaskCreateReq; import cd.casic.ci.common.pipeline.req.task.TaskUpdateReq; import cd.casic.ci.common.pipeline.resp.task.TasksResp; -import cd.casic.ci.process.process.dataObject.log.PipPipelineTaskLog; -import cd.casic.ci.process.process.dataObject.task.PipTask; +import cd.casic.ci.process.process.dataObject.log.PipTaskLog; import cd.casic.ci.process.process.service.task.TaskService; import cd.casic.framework.commons.pojo.CommonResult; -import com.alibaba.fastjson.JSON; import jakarta.annotation.Resource; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import org.springframework.web.bind.annotation.*; -import java.util.List; - @RestController @RequestMapping("/task") public class TasksController { @@ -45,7 +40,7 @@ public class TasksController { return CommonResult.success(b); } @PostMapping("/getLogContentByTaskId/{taskId}") - public CommonResult getLogContentByTaskId(@PathVariable String taskId){ + public CommonResult getLogContentByTaskId(@PathVariable String taskId){ return null; } }