From 7160577a5688d1a3f6e730ad3dd2fae57c63c3a8 Mon Sep 17 00:00:00 2001 From: even <827656971@qq.com> Date: Fri, 27 Jun 2025 15:28:26 +0800 Subject: [PATCH] =?UTF-8?q?AFL=E7=9B=B8=E5=85=B3=20worker=EF=BC=9A?= =?UTF-8?q?=E9=AD=94=E6=B3=95=E5=80=BC=E6=8A=BD=E5=8F=96=E4=B8=BA=E9=9D=99?= =?UTF-8?q?=E6=80=81=E5=8F=98=E9=87=8F=20=E8=BF=90=E8=A1=8C=E6=97=B6?= =?UTF-8?q?=E5=85=A8=E5=B1=80=E5=8F=98=E9=87=8F=E4=BD=9C=E7=94=A8=E5=9F=9F?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E6=96=B9=E6=B3=95=E6=8F=90=E4=BE=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cd/casic/ci/api/VariableController.java | 5 +++++ .../ci/process/engine/constant/AFLConstant.java | 1 + .../ci/process/engine/worker/afl/AFLWorker.java | 6 +++--- .../process/service/variable/VariableService.java | 3 +++ .../service/variable/impl/VariableServiceImpl.java | 12 ++++++++++++ 5 files changed, 24 insertions(+), 3 deletions(-) diff --git a/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/VariableController.java b/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/VariableController.java index 41e7df5e..8ac74f7c 100644 --- a/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/VariableController.java +++ b/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/VariableController.java @@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * @pi.protocol: http @@ -29,4 +30,8 @@ public class VariableController { Object variable = variableService.getPipelineContextGlobalVariable(pipelineId, varName); return CommonResult.success(variable); } + @GetMapping("/getPipelineContextGlobalVariables/{pipelineId}") + public CommonResult> getPipelineContextGlobalVariables(@PathVariable("pipelineId") String pipelineId){ + return CommonResult.success(variableService.getPipelineContextGlobalVariables(pipelineId)); + } } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/constant/AFLConstant.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/constant/AFLConstant.java index 2f48a1a9..91894e83 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/constant/AFLConstant.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/constant/AFLConstant.java @@ -4,4 +4,5 @@ public class AFLConstant { public static final String COMMAND_END="commandEnd"; public static final String EXECUTABLE_NAME ="executableName"; + public static final String RUNNING_TIME ="runningTime"; } 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 4019ddf0..7f7f5ab8 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 @@ -77,13 +77,13 @@ public class AFLWorker extends DockerWorker { TargetVersion targetVersion = targetVersionService.getById(pipeline.getTargetVersionId()); String fileName = targetVersion.getFileName(); append(context,"AFL 输出路径:"+output); - Object timeObj = taskProperties.get("runningTime"); + Object timeObj = taskProperties.get(RUNNING_TIME); Double timeHours = Double.valueOf(String.valueOf(timeObj)); - String commandScript = "docker run -v "+volumeWorkDirPath+":/test -it "+imageName+" bash\n" + + String commandScript = "docker run -v "+volumeWorkDirPath+":"+AFL_DOCKER_BASE_DIR+" -it "+imageName+" bash\n" + "cd " + AFL_DOCKER_BASE_DIR+File.separator+workDir+ "\n"+ cdSourceName(fileName) + "mkdir -p "+ AFL_DOCKER_BASE_DIR+File.separator+output+"\n" + - "afl-fuzz -i "+ AFL_DOCKER_BASE_DIR+File.separator+seedPath+" -o "+ AFL_DOCKER_BASE_DIR+File.separator+output+" "+ executableName + " " +commandEnd; + "afl-fuzz -i "+ AFL_DOCKER_BASE_DIR+File.separator+seedPath+" -o "+ AFL_DOCKER_BASE_DIR+File.separator+output+" ./"+ executableName + " " +commandEnd; try { //将节点的配置信息反编译成对象 log.info("AFL模糊测试执行脚本:{}",commandScript); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/variable/VariableService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/variable/VariableService.java index 48293818..37934d6f 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/variable/VariableService.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/variable/VariableService.java @@ -1,5 +1,8 @@ package cd.casic.ci.process.process.service.variable; +import java.util.Map; + public interface VariableService { Object getPipelineContextGlobalVariable(String pipelineId,String varName); + Map getPipelineContextGlobalVariables(String pipelineId); } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/variable/impl/VariableServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/variable/impl/VariableServiceImpl.java index 23bdb0d6..0b1ff04b 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/variable/impl/VariableServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/variable/impl/VariableServiceImpl.java @@ -8,6 +8,7 @@ import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.Map; @Service @@ -25,4 +26,15 @@ public class VariableServiceImpl implements VariableService { log.info("当前全局变量:{}",globalVariables); return globalVariables.get(varName); } + + @Override + public Map getPipelineContextGlobalVariables(String pipelineId) { + BaseRunContext context = contextManager.getContext(pipelineId); + if (context== null) { + return new HashMap<>(); + } + Map globalVariables = context.getGlobalVariables(); + log.info("当前全局变量:{}",globalVariables); + return globalVariables; + } }