From 08509ef6050a8d5a9116514c1985c076b95ab580 Mon Sep 17 00:00:00 2001 From: even <827656971@qq.com> Date: Mon, 11 Aug 2025 22:34:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E5=90=88aflcrash=EF=BC=88=E6=9C=AA?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ci/process/engine/worker/afl/AFLWorker.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/afl/AFLWorker.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/afl/AFLWorker.java index 505591fc..840a8550 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/afl/AFLWorker.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/afl/AFLWorker.java @@ -12,6 +12,7 @@ import cd.casic.ci.process.process.dataObject.history.PipPipelineHisInstance; 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.service.aflAnalyzer.AflCrashesAnalyzerService; import cd.casic.ci.process.process.service.aflManager.AflInfoService; import cd.casic.ci.process.process.service.aflManager.AflPlotInfoService; import cd.casic.ci.process.process.service.aflManager.AflSeedInfoService; @@ -44,6 +45,8 @@ public class AFLWorker extends DockerWorker { private AflPlotInfoService aflPlotInfoService; @Resource private LocalAflCrashesService localAflCrashesService; + @Resource + private AflCrashesAnalyzerService crashesAnalyzerService; @Override public void execute(TaskRunContext context) { int statusCode = -1; @@ -114,7 +117,7 @@ public class AFLWorker extends DockerWorker { } localVariables.put(DIYImageExecuteCommandConstant.STATUS_CODE, statusCode); afterTaskExecute(context); - afterPipelineExecute(context,pipeline); + afterPipelineExecute(context,pipeline,resourceById,allDir+"/aflCrash"); } } private String cdSourceName(String fileName){ @@ -167,7 +170,7 @@ public class AFLWorker extends DockerWorker { log.error("保存afl信息失败,入参{}", JSON.toJSONString(req),e); } } - private void afterPipelineExecute(TaskRunContext context,PipPipeline pipeline){ + private void afterPipelineExecute(TaskRunContext context,PipPipeline pipeline,ResourceDetailResp resource,String crashesOutputPath){ append(context,"开始拉取afl输出信息"); PipTask contextDef = (PipTask)context.getContextDef(); String pipelineId =contextDef.getPipelineId(); @@ -197,5 +200,11 @@ public class AFLWorker extends DockerWorker { localAflCrashesService.saveLocalAflCrashesInfo(crashesSaveReq); } }); + postHandlerManager.registerPostHandler(new ExecuteTaskPostHandler(taskId,pipelineId) { + @Override + public void executeAfterDone(PipPipelineHisInstance instance) { + crashesAnalyzerService.saveCrashesByOutputPath(crashesOutputPath,resource,instance.getPipelineId(),taskId,instance.getId()); + } + }); } }