AFL修改

This commit is contained in:
even 2025-06-05 17:03:20 +08:00
parent 760607fe26
commit 6b457250d7
3 changed files with 17 additions and 9 deletions

View File

@ -1,6 +1,7 @@
package cd.casic.ci.process.engine.worker;
import cd.casic.ci.process.common.WorkAtom;
import cd.casic.ci.process.dal.resp.resource.ResourceFindResp;
import cd.casic.ci.process.engine.constant.AFLConstant;
import cd.casic.ci.process.engine.constant.DIYImageExecuteCommandConstant;
import cd.casic.ci.process.engine.runContext.TaskRunContext;
@ -9,6 +10,7 @@ import cd.casic.ci.process.engine.worker.base.SshWorker;
import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.module.execute.docker.dataobject.dto.DockerEndpointDo;
import cd.casic.module.execute.docker.dataobject.model.DockerEndpoint;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@ -19,6 +21,7 @@ import java.util.Map;
@Slf4j
public class AFLWorker extends DockerWorker {
@Override
public void execute(TaskRunContext context) {
int statusCode = -1;
@ -31,12 +34,17 @@ public class AFLWorker extends DockerWorker {
String commandScript = commandScriptObj instanceof String ? ((String) commandScriptObj) : null;
PipPipeline pipeline = (PipPipeline) getContextManager().getContext(taskDef.getPipelineId()).getContextDef();
String machineId = pipeline.getMachineId();
if (StringUtils.isEmpty(commandScript)||StringUtils.isEmpty(machineId)) {
String resourceId = pipeline.getResourceId();
if (StringUtils.isEmpty(commandScript)||StringUtils.isEmpty(resourceId)) {
// 缺少参数
toBadEnding();
}
ResourceFindResp resourceById = getResourceManagerService().findResourceById(resourceId);
DockerEndpointDo dockerEndpoint = resourceById.getDockerEndpoint();
if (dockerEndpoint==null) {
append(context,"当前机器不支持docker");
return;
}
try {
//将节点的配置信息反编译成对象
log.info("构建脚本" + commandScript);
@ -46,10 +54,6 @@ public class AFLWorker extends DockerWorker {
//获取机器
// MachineInfo machineInfoDO = this.getMachineInfoService().getById(machineId);
// 获取docker 暂时先写固定值
DockerEndpoint dockerEndpoint = new DockerEndpoint();
dockerEndpoint.setHost("175.6.27.252");
dockerEndpoint.setPort(22375);
dockerEndpoint.setType(DockerEndpoint.DockerEndpointTypeEnum.REMOTE);
// TODO dockerEndpoint替换为查询
dockerRun(commandScript,dockerEndpoint,context);
} catch (Exception e) {

View File

@ -17,6 +17,7 @@ import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.ci.process.process.service.machine.MachineInfoService;
import cd.casic.ci.process.process.service.resource.ResourceManagerService;
import cd.casic.ci.process.ssh.SshClient;
import cd.casic.ci.process.ssh.SshClientFactory;
import cd.casic.ci.process.ssh.WinRMHelper;
@ -45,6 +46,8 @@ public abstract class BaseWorker implements Runnable{
private MachineInfoService machineInfoService;
@Resource
private LoggerManager loggerManager;
@Resource
private ResourceManagerService resourceManagerService;
@Override

View File

@ -2,6 +2,7 @@ package cd.casic.ci.process.engine.worker.base;
import cd.casic.ci.process.engine.runContext.BaseRunContext;
import cd.casic.module.execute.docker.dataobject.dto.DockerEndpointDo;
import cd.casic.module.execute.docker.dataobject.model.DockerEndpoint;
import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.async.ResultCallbackTemplate;
@ -33,7 +34,7 @@ import java.util.concurrent.TimeUnit;
import static java.lang.String.format;
@Slf4j
public abstract class DockerWorker extends BaseWorker{
public void dockerRun(String command, DockerEndpoint dockerEndpoint, BaseRunContext context){
public void dockerRun(String command, DockerEndpointDo dockerEndpoint, BaseRunContext context){
// 第一行必须是docker run 命令 option 支持 -it -v
String[] split = command.split("\n");
List<String> commandLine = new ArrayList<>(Arrays.stream(split).filter(StringUtils::isNotBlank).toList());
@ -148,7 +149,7 @@ public abstract class DockerWorker extends BaseWorker{
}
}
public DockerExecHandler loadRunCommand(String runCommand, DockerEndpoint dockerEndpoint){
public DockerExecHandler loadRunCommand(String runCommand, DockerEndpointDo dockerEndpoint){
String[] split = runCommand.split("\\s+");
List<String> keywords = new ArrayList<>(split.length);
keywords.addAll(Lists.list(split));