整合aflcrash(未测试)

This commit is contained in:
even 2025-08-11 22:34:21 +08:00
parent 0ea26cd608
commit 08509ef605

View File

@ -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.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;
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.AflInfoService;
import cd.casic.ci.process.process.service.aflManager.AflPlotInfoService; import cd.casic.ci.process.process.service.aflManager.AflPlotInfoService;
import cd.casic.ci.process.process.service.aflManager.AflSeedInfoService; import cd.casic.ci.process.process.service.aflManager.AflSeedInfoService;
@ -44,6 +45,8 @@ public class AFLWorker extends DockerWorker {
private AflPlotInfoService aflPlotInfoService; private AflPlotInfoService aflPlotInfoService;
@Resource @Resource
private LocalAflCrashesService localAflCrashesService; private LocalAflCrashesService localAflCrashesService;
@Resource
private AflCrashesAnalyzerService crashesAnalyzerService;
@Override @Override
public void execute(TaskRunContext context) { public void execute(TaskRunContext context) {
int statusCode = -1; int statusCode = -1;
@ -114,7 +117,7 @@ public class AFLWorker extends DockerWorker {
} }
localVariables.put(DIYImageExecuteCommandConstant.STATUS_CODE, statusCode); localVariables.put(DIYImageExecuteCommandConstant.STATUS_CODE, statusCode);
afterTaskExecute(context); afterTaskExecute(context);
afterPipelineExecute(context,pipeline); afterPipelineExecute(context,pipeline,resourceById,allDir+"/aflCrash");
} }
} }
private String cdSourceName(String fileName){ private String cdSourceName(String fileName){
@ -167,7 +170,7 @@ public class AFLWorker extends DockerWorker {
log.error("保存afl信息失败,入参{}", JSON.toJSONString(req),e); 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输出信息"); append(context,"开始拉取afl输出信息");
PipTask contextDef = (PipTask)context.getContextDef(); PipTask contextDef = (PipTask)context.getContextDef();
String pipelineId =contextDef.getPipelineId(); String pipelineId =contextDef.getPipelineId();
@ -197,5 +200,11 @@ public class AFLWorker extends DockerWorker {
localAflCrashesService.saveLocalAflCrashesInfo(crashesSaveReq); localAflCrashesService.saveLocalAflCrashesInfo(crashesSaveReq);
} }
}); });
postHandlerManager.registerPostHandler(new ExecuteTaskPostHandler(taskId,pipelineId) {
@Override
public void executeAfterDone(PipPipelineHisInstance instance) {
crashesAnalyzerService.saveCrashesByOutputPath(crashesOutputPath,resource,instance.getPipelineId(),taskId,instance.getId());
}
});
} }
} }