Compare commits

..

No commits in common. "c2c5c67c9b5d9aa13f86d2024fc222a133d926df" and "4a5af8041651719a2ca68d0fff68795ccb894965" have entirely different histories.

27 changed files with 72 additions and 32 deletions

2
.gitignore vendored
View File

@ -1,7 +1,7 @@
# ---> Java # ---> Java
# Compiled class file # Compiled class file
*.class *.class
.idea/** .idea
# Log file # Log file
*.log *.log
target target

View File

@ -16,10 +16,6 @@
<groupId>cd.casic.boot</groupId> <groupId>cd.casic.boot</groupId>
<artifactId>module-ci-commons</artifactId> <artifactId>module-ci-commons</artifactId>
</dependency> </dependency>
<dependency>
<groupId>cd.casic.boot</groupId>
<artifactId>module-ci-process-biz</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -46,7 +46,7 @@
<dependency> <dependency>
<groupId>cd.casic.boot</groupId> <groupId>cd.casic.boot</groupId>
<artifactId>module-ci-process-api</artifactId> <artifactId>module-ci-process-biz</artifactId>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.agent.AgentQueryReq; import cd.casic.ci.process.dal.req.agent.AgentQueryReq;
import cd.casic.ci.process.dal.resp.agent.AgentResp; import cd.casic.ci.process.dal.resp.agent.AgentResp;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.framework.commons.pojo.CommonResult; import cd.casic.framework.commons.pojo.CommonResult;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.env.EnvQueryReq; import cd.casic.ci.process.dal.req.env.EnvQueryReq;
import cd.casic.ci.process.dal.req.env.EnvReq; import cd.casic.ci.process.dal.req.env.EnvReq;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.group.GroupQueryReq; import cd.casic.ci.process.dal.req.group.GroupQueryReq;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.process.dataObject.machine.MachineInfo; import cd.casic.ci.process.process.dataObject.machine.MachineInfo;
import cd.casic.ci.process.process.service.machine.MachineInfoService; import cd.casic.ci.process.process.service.machine.MachineInfoService;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.pipeline.PipelineCreateReq; import cd.casic.ci.process.dal.req.pipeline.PipelineCreateReq;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.resource.ResourceQueryReq; import cd.casic.ci.process.dal.req.resource.ResourceQueryReq;

View File

@ -1,6 +1,8 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.engine.manager.LoggerManager; import cd.casic.ci.process.engine.manager.LoggerManager;
import cd.casic.framework.commons.util.network.IpUtil;
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -9,6 +11,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
import java.io.IOException;
@RestController @RestController
@RequestMapping("/sse") @RequestMapping("/sse")
public class SSEController { public class SSEController {

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.stage.StageCreateReq; import cd.casic.ci.process.dal.req.stage.StageCreateReq;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.target.TargetManagerCreateReq; import cd.casic.ci.process.dal.req.target.TargetManagerCreateReq;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.resp.taskTemplate.TaskTemplateResp; import cd.casic.ci.process.dal.resp.taskTemplate.TaskTemplateResp;
import cd.casic.ci.process.process.service.taskTemplate.TaskTemplateService; import cd.casic.ci.process.process.service.taskTemplate.TaskTemplateService;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.task.TaskUpdateReq; import cd.casic.ci.process.dal.req.task.TaskUpdateReq;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.template.TemplateQueryReq; import cd.casic.ci.process.dal.req.template.TemplateQueryReq;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.trigger.TriggerQueryReq; import cd.casic.ci.process.dal.req.trigger.TriggerQueryReq;
import cd.casic.framework.commons.pojo.CommonResult; import cd.casic.framework.commons.pojo.CommonResult;

View File

@ -1,4 +1,4 @@
package cd.casic.ci.api; package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.variable.VariableReq; import cd.casic.ci.process.dal.req.variable.VariableReq;

View File

@ -1,15 +1,16 @@
package cd.casic.server; package cd.casic.server;
import cd.casic.module.execute.docker.callback.CommandExecCallback;
import cd.casic.module.execute.docker.dataobject.model.DockerEndpoint; import cd.casic.module.execute.docker.dataobject.model.DockerEndpoint;
import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.async.ResultCallback;
import com.github.dockerjava.api.async.ResultCallbackTemplate; import com.github.dockerjava.api.async.ResultCallbackTemplate;
import com.github.dockerjava.api.command.CreateContainerResponse; import com.github.dockerjava.api.command.CreateContainerResponse;
import com.github.dockerjava.api.command.ExecCreateCmdResponse; import com.github.dockerjava.api.command.ExecCreateCmdResponse;
import com.github.dockerjava.api.model.Bind; import com.github.dockerjava.api.model.*;
import com.github.dockerjava.api.model.Frame;
import com.github.dockerjava.api.model.HostConfig;
import com.github.dockerjava.core.DockerClientBuilder; import com.github.dockerjava.core.DockerClientBuilder;
import com.github.dockerjava.httpclient5.ApacheDockerHttpClient; import com.github.dockerjava.httpclient5.ApacheDockerHttpClient;
import jodd.util.StringUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -24,11 +25,9 @@ import java.io.Closeable;
import java.io.IOException; import java.io.IOException;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.net.URL;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import static java.lang.String.format; import static java.lang.String.format;

View File

@ -2,16 +2,23 @@ package cd.casic.server;
import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.command.CreateContainerResponse; import com.github.dockerjava.api.command.CreateContainerResponse;
import com.github.dockerjava.api.command.ExecCreateCmdResponse; import com.github.dockerjava.api.command.ExecCreateCmdResponse;
import com.github.dockerjava.api.exception.NotFoundException;
import com.github.dockerjava.api.model.Bind; import com.github.dockerjava.api.model.Bind;
import com.github.dockerjava.api.model.Frame; import com.github.dockerjava.api.model.Frame;
import com.github.dockerjava.api.model.HostConfig; import com.github.dockerjava.api.model.HostConfig;
import com.github.dockerjava.api.model.StreamType;
import com.github.dockerjava.api.model.Volume;
import com.github.dockerjava.core.DefaultDockerClientConfig;
import com.github.dockerjava.core.DockerClientBuilder; import com.github.dockerjava.core.DockerClientBuilder;
import com.github.dockerjava.core.DockerClientConfig;
import com.github.dockerjava.core.command.ExecStartResultCallback;
import com.github.dockerjava.httpclient5.ApacheDockerHttpClient; import com.github.dockerjava.httpclient5.ApacheDockerHttpClient;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
@ -119,11 +126,11 @@ public class DockerTest {
} }
} }
private static class ExecStartResultCallback extends com.github.dockerjava.api.async.ResultCallback.Adapter<Frame> { private static class ExecStartResultCallback extends com.github.dockerjava.api.async.ResultCallback.Adapter<com.github.dockerjava.api.model.Frame> {
private final StringBuilder output = new StringBuilder(); private final StringBuilder output = new StringBuilder();
@Override @Override
public void onNext(Frame frame) { public void onNext(com.github.dockerjava.api.model.Frame frame) {
output.append(new String(frame.getPayload())); output.append(new String(frame.getPayload()));
} }

View File

@ -5,6 +5,7 @@ import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import org.springframework.web.bind.annotation.RestController;
@SpringBootTest(classes = {OpsServerApplication.class}) @SpringBootTest(classes = {OpsServerApplication.class})
@ActiveProfiles("local") @ActiveProfiles("local")

View File

@ -25,7 +25,9 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@SpringBootTest(classes = {OpsServerApplication.class}) @SpringBootTest(classes = {OpsServerApplication.class})

View File

@ -14,6 +14,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;

View File

@ -25,7 +25,10 @@ import org.springframework.test.context.ActiveProfiles;
import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertNull;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@SpringBootTest(classes = {OpsServerApplication.class}) @SpringBootTest(classes = {OpsServerApplication.class})
@ActiveProfiles("local") @ActiveProfiles("local")

View File

@ -1,11 +1,23 @@
package cd.casic.server; package cd.casic.server;
import cd.casic.ci.process.engine.manager.LoggerManager; import cd.casic.ci.process.engine.manager.LoggerManager;
import cd.casic.ci.process.engine.manager.RunContextManager;
import cd.casic.ci.process.engine.message.TaskRunMessage;
import cd.casic.ci.process.engine.runContext.PipelineRunContext;
import cd.casic.ci.process.engine.runContext.SecondStageRunContext;
import cd.casic.ci.process.engine.runContext.TaskRunContext;
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
import cd.casic.ci.process.process.dataObject.stage.PipStage;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.framework.mq.redis.core.RedisMQTemplate;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
@SpringBootTest(classes = {OpsServerApplication.class}) @SpringBootTest(classes = {OpsServerApplication.class})
@ActiveProfiles("local") @ActiveProfiles("local")
public class SSETest { public class SSETest {

View File

@ -6,7 +6,9 @@ import cd.casic.ci.process.util.CryptogramUtil;
import cd.casic.ci.process.util.SftpUploadUtil; import cd.casic.ci.process.util.SftpUploadUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestClassOrder;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.stereotype.Service;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import java.io.File; import java.io.File;

View File

@ -2,14 +2,27 @@ package cd.casic.server;
import cd.casic.ci.process.dal.req.stage.StageCreateReq; import cd.casic.ci.process.dal.req.stage.StageCreateReq;
import cd.casic.ci.process.dal.req.task.TaskUpdateReq; import cd.casic.ci.process.dal.req.task.TaskUpdateReq;
import cd.casic.ci.process.engine.manager.RunContextManager;
import cd.casic.ci.process.engine.message.TaskRunMessage;
import cd.casic.ci.process.engine.runContext.PipelineRunContext;
import cd.casic.ci.process.engine.runContext.SecondStageRunContext;
import cd.casic.ci.process.engine.runContext.TaskRunContext;
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
import cd.casic.ci.process.process.dataObject.stage.PipStage;
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.stage.StageService;
import cd.casic.ci.process.process.service.task.TaskService; import cd.casic.ci.process.process.service.task.TaskService;
import cd.casic.framework.mq.redis.core.RedisMQTemplate;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
@SpringBootTest(classes = {OpsServerApplication.class}) @SpringBootTest(classes = {OpsServerApplication.class})
@ActiveProfiles("local") @ActiveProfiles("local")
public class TaskTest { public class TaskTest {