diff --git a/.idea/CopilotChatHistory.xml b/.idea/CopilotChatHistory.xml
index c815543..b357f4c 100644
--- a/.idea/CopilotChatHistory.xml
+++ b/.idea/CopilotChatHistory.xml
@@ -3,6 +3,265 @@
+
+
+
+
+
+
+
+
+
diff --git a/dependencies/.flattened-pom.xml b/dependencies/.flattened-pom.xml
index 3356936..ff50801 100644
--- a/dependencies/.flattened-pom.xml
+++ b/dependencies/.flattened-pom.xml
@@ -19,6 +19,7 @@
3.5.16
0.33.0
2.9.3
+ 20250107
8.6.0
1.27.1
2.3.1
@@ -68,6 +69,7 @@
3.11.1
1.7.8
4.0.3
+ 1.5.6
1.2.23
3.0.6
8.1.3.140
@@ -194,48 +196,68 @@
${revision}
- cd.casic.ci
- ci-commons
+ cd.casic.boot
+ module-ci-common
${revision}
- cd.casic.ci
- ci-event
+ cd.casic.boot
+ module-ci-common-pipeline
${revision}
- cd.casic.ci
- ci-log
+ cd.casic.boot
+ module-ci-process-api
${revision}
- cd.casic.ci
- ci-market
+ cd.casic.boot
+ module-ci-environment
${revision}
- cd.casic.ci
- ci-process
+ cd.casic.boot
+ module-ci-event
${revision}
- cd.casic.ci
- ci-project
+ cd.casic.boot
+ module-ci-log
${revision}
- cd.casic.ci
- ci-quality
+ cd.casic.boot
+ module-ci-market
${revision}
- cd.casic.ci
- ci-ticket
+ cd.casic.boot
+ module-ci-process-api
${revision}
- cd.casic.ci
- ci-scm-repository
+ cd.casic.boot
+ module-ci-project
+ ${revision}
+
+
+ cd.casic.boot
+ module-ci-quality
+ ${revision}
+
+
+ cd.casic.boot
+ module-ci-ticket
+ ${revision}
+
+
+ cd.casic.boot
+ module-ci-repository
+ ${revision}
+
+
+ cd.casic.boot
+ module-ci-worker
${revision}
@@ -244,8 +266,8 @@
${bizlog-sdk.version}
- spring-boot-starter
org.springframework.boot
+ spring-boot-starter
@@ -300,12 +322,12 @@
${easy-trans.version}
- spring-context
org.springframework
+ spring-context
- spring-cloud-commons
org.springframework.cloud
+ spring-cloud-commons
@@ -325,8 +347,8 @@
${redisson.version}
- spring-boot-starter-actuator
org.springframework.boot
+ spring-boot-starter-actuator
@@ -336,8 +358,8 @@
${lock4j.version}
- redisson-spring-boot-starter
org.redisson
+ redisson-spring-boot-starter
@@ -377,8 +399,8 @@
${spring-boot-admin.version}
- spring-boot-admin-server-cloud
de.codecentric
+ spring-boot-admin-server-cloud
@@ -398,12 +420,12 @@
${spring.boot.version}
- asm
org.ow2.asm
+ asm
- mockito-core
org.mockito
+ mockito-core
@@ -477,6 +499,16 @@
fastjson
${fastjson.version}
+
+ com.networknt
+ json-schema-validator
+ ${json.schema.validator.veresion}
+
+
+ org.json
+ json
+ ${json.version}
+
com.google.guava
guava
@@ -523,8 +555,8 @@
${pf4j.version}
- slf4j-log4j12
org.slf4j
+ slf4j-log4j12
@@ -578,11 +610,6 @@
winp
${winp.version}
-
- org.jenkins-ci
- version-number
- ${version-number.version}}
-
org.reflections
reflections
diff --git a/dependencies/pom.xml b/dependencies/pom.xml
index 4cba9bd..d6af30f 100644
--- a/dependencies/pom.xml
+++ b/dependencies/pom.xml
@@ -59,6 +59,8 @@
4.0.3
2.4
1.2.83
+ 1.5.6
+ 20250107
33.3.1-jre
2.14.5
3.11.1
@@ -79,7 +81,7 @@
1.28
1.12
0.10.2
-
+
1.4.0
1.28
2.6.10
@@ -216,58 +218,83 @@
module-system-biz
${revision}
-
+
+
- cd.casic.ci
- ci-commons
+ cd.casic.boot
+ module-ci-common
${revision}
- cd.casic.ci
- ci-event
+ cd.casic.boot
+ module-ci-common-pipeline
${revision}
- cd.casic.ci
- ci-log
+ cd.casic.boot
+ module-ci-process-api
${revision}
- cd.casic.ci
- ci-market
+ cd.casic.boot
+ module-ci-environment
${revision}
- cd.casic.ci
- ci-process
+ cd.casic.boot
+ module-ci-event
${revision}
- cd.casic.ci
- ci-project
+ cd.casic.boot
+ module-ci-log
${revision}
- cd.casic.ci
- ci-quality
+ cd.casic.boot
+ module-ci-market
${revision}
- cd.casic.ci
- ci-ticket
+ cd.casic.boot
+ module-ci-process-api
${revision}
- cd.casic.ci
- ci-scm-repository
+ cd.casic.boot
+ module-ci-project
+ ${revision}
+
+
+
+ cd.casic.boot
+ module-ci-quality
+ ${revision}
+
+
+
+ cd.casic.boot
+ module-ci-ticket
+ ${revision}
+
+
+
+ cd.casic.boot
+ module-ci-repository
+ ${revision}
+
+
+
+ cd.casic.boot
+ module-ci-worker
${revision}
@@ -545,6 +572,17 @@
${fastjson.version}
+
+ com.networknt
+ json-schema-validator
+ ${json.schema.validator.veresion}
+
+
+ org.json
+ json
+ ${json.version}
+
+
com.google.guava
guava
@@ -667,12 +705,6 @@
winp
${winp.version}
-
-
- org.jenkins-ci
- version-number
- ${version-number.version}}
-
@@ -721,8 +753,6 @@
io.github.resilience4j
resilience4j-circuitbreaker
${resilience4j-circuitbreaker.version}
-
diff --git a/framework/commons/pom.xml b/framework/commons/pom.xml
index 667d8a2..654cec1 100644
--- a/framework/commons/pom.xml
+++ b/framework/commons/pom.xml
@@ -110,6 +110,7 @@
jackson-databind
provided
+
com.fasterxml.jackson.core
jackson-core
@@ -144,11 +145,6 @@
okhttp
-
- com.google.guava
- guava
-
-
com.alibaba
transmittable-thread-local
@@ -169,7 +165,6 @@
bcprov-jdk18on
-
org.springframework.boot
diff --git a/framework/commons/src/main/java/cd/casic/framework/commons/util/date/DateUtils.java b/framework/commons/src/main/java/cd/casic/framework/commons/util/date/DateUtils.java
index 3156416..54077f3 100644
--- a/framework/commons/src/main/java/cd/casic/framework/commons/util/date/DateUtils.java
+++ b/framework/commons/src/main/java/cd/casic/framework/commons/util/date/DateUtils.java
@@ -61,6 +61,10 @@ public class DateUtils {
return LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
}
+ public static long LocalDateTimeToMilli(LocalDateTime localDateTime) {
+ return localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
+ }
+
public static Date addTime(Duration duration) {
return new Date(System.currentTimeMillis() + duration.toMillis());
}
diff --git a/framework/commons/src/main/java/cd/casic/framework/commons/util/json/JsonUtils.java b/framework/commons/src/main/java/cd/casic/framework/commons/util/json/JsonUtils.java
index 26e01e4..95af103 100644
--- a/framework/commons/src/main/java/cd/casic/framework/commons/util/json/JsonUtils.java
+++ b/framework/commons/src/main/java/cd/casic/framework/commons/util/json/JsonUtils.java
@@ -4,6 +4,7 @@ import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.json.JsonReadFeature;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonNode;
@@ -31,8 +32,14 @@ public class JsonUtils extends JSONUtil {
static {
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); // 忽略 null 值
- objectMapper.registerModules(new JavaTimeModule()); // 解决 LocalDateTime 的序列化
+ objectMapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
+ objectMapper.configure(JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS.mappedFeature(), true);
+ /*遇到错误不抛出异常*/
+ objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, true);
+ // 忽略 null 值
+ objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ // 解决 LocalDateTime 的序列化
+ objectMapper.registerModules(new JavaTimeModule());
}
/**
diff --git a/framework/commons/src/main/java/cd/casic/framework/commons/util/yaml/YamlUtils.java b/framework/commons/src/main/java/cd/casic/framework/commons/util/yaml/YamlUtils.java
index 5a945a6..570037d 100644
--- a/framework/commons/src/main/java/cd/casic/framework/commons/util/yaml/YamlUtils.java
+++ b/framework/commons/src/main/java/cd/casic/framework/commons/util/yaml/YamlUtils.java
@@ -14,7 +14,7 @@ import java.util.Set;
* TODO
*
* @author mian-bin
- * @Description YamlUtils
+ * @Description YamlUtils , 这个是基础的yaml工具,非流水线的
* @date 2025/1/10 15:22
*/
public class YamlUtils {
diff --git a/framework/spring-boot-starter-mybatis/pom.xml b/framework/spring-boot-starter-mybatis/pom.xml
index c3eb36e..38b100b 100644
--- a/framework/spring-boot-starter-mybatis/pom.xml
+++ b/framework/spring-boot-starter-mybatis/pom.xml
@@ -67,18 +67,6 @@
true
-
- org.postgresql
- postgresql
- true
-
-
-
- com.oracle.database.jdbc
- ojdbc8
- true
-
-
org.xerial
sqlite-jdbc
diff --git a/modules/ci-commons/common-api/pom.xml b/modules/ci-commons/common-api/pom.xml
deleted file mode 100644
index 172c5ff..0000000
--- a/modules/ci-commons/common-api/pom.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
- 4.0.0
-
- cd.casic.ci
- ci-commons
- ${revision}
- ../pom.xml
-
-
- cd.casic.ci
- common-api
-
- ${revision}
- jar
-
- common-api
-
-
-
- cd.casic.boot
- commons
-
-
- cd.casic.boot
- spring-boot-starter-mybatis
-
-
-
-
diff --git a/modules/ci-commons/common-api/src/main/resources/application.properties b/modules/ci-commons/common-api/src/main/resources/application.properties
deleted file mode 100644
index 30ff097..0000000
--- a/modules/ci-commons/common-api/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-spring.application.name=common-api
diff --git a/modules/ci-commons/common-api/src/test/java/cd/casic/ci/common/api/CommonApiApplicationTests.java b/modules/ci-commons/common-api/src/test/java/cd/casic/ci/common/api/CommonApiApplicationTests.java
deleted file mode 100644
index 7fb4513..0000000
--- a/modules/ci-commons/common-api/src/test/java/cd/casic/ci/common/api/CommonApiApplicationTests.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package cd.casic.ci.common.api;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class CommonApiApplicationTests {
-
- @Test
- void contextLoads() {
- }
-
-}
diff --git a/modules/ci-commons/common-pipeline/.gitignore b/modules/ci-commons/common-pipeline/.gitignore
deleted file mode 100644
index 549e00a..0000000
--- a/modules/ci-commons/common-pipeline/.gitignore
+++ /dev/null
@@ -1,33 +0,0 @@
-HELP.md
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-### STS ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### IntelliJ IDEA ###
-.idea
-*.iws
-*.iml
-*.ipr
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/
diff --git a/modules/ci-commons/common-pipeline/pom.xml b/modules/ci-commons/common-pipeline/pom.xml
deleted file mode 100644
index 3cc291b..0000000
--- a/modules/ci-commons/common-pipeline/pom.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
- 4.0.0
-
- cd.casic.ci
- ci-commons
- ${revision}
- ../pom.xml
-
-
- cd.casic.ci
- common-pipeline
- ${revision}
- common-pipeline
-
- jar
-
-
-
-
- cd.casic.boot
- commons
-
-
-
- cd.casic.ci
- common-api
- 2.0.0-jdk17
-
-
-
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/type/package-info.java b/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/type/package-info.java
deleted file mode 100644
index 6681d11..0000000
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/type/package-info.java
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * @Author:mianbin
- * @Package:cd.casic.ci.common.pipeline.type
- * @Project:ops-pro
- * @name:package-info
- * @Date:2025/03/27 10:44
- * @Filename:package-info
- * @description:Todo
- */
-package cd.casic.ci.common.pipeline.type;
\ No newline at end of file
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/utils/TransferUtil.java b/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/utils/TransferUtil.java
deleted file mode 100644
index 7e0b855..0000000
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/utils/TransferUtil.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package cd.casic.ci.common.pipeline.utils;
-
-import com.alibaba.fastjson.JSONObject;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-/**
- * @Author:mianbin
- * @Package:cd.casic.ci.common.pipeline.utils
- * @Project:ops-pro
- * @name:TransferUtil
- * @Date:2025/03/26 16:09
- * @Filename:TransferUtil
- * @description:Todo
- */
-public class TransferUtil {
- public static Map simplifyParams(JSONObject defaultValue, Map input) {
- return input.entrySet().stream()
- .filter(entry -> {
- var inputValue = entry.getValue();
- if (defaultValue.containsKey(entry.getKey())) {
- return !new JSONObject(entry.getKey(), defaultValue.get(entry.getKey())).similar(new JSONObject(entry.getKey(), inputValue));
- }
- return true;
- })
- .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
- }
-
- public static Map mixParams(JSONObject defaultValue, Map input) {
- var out = input != null ? new HashMap<>(input) : new HashMap<>();
- if (defaultValue != null) {
- defaultValue.toMap().forEach((k, v) -> out.putIfAbsent(k, v));
- }
- return out;
- }
-}
diff --git a/modules/ci-commons/common-pipeline/src/main/resources/application.properties b/modules/ci-commons/common-pipeline/src/main/resources/application.properties
deleted file mode 100644
index 1c34b2a..0000000
--- a/modules/ci-commons/common-pipeline/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-spring.application.name=common-pipeline
diff --git a/modules/ci-commons/common-pipeline/src/test/java/cd/casic/ci/common/pipeline/CommonPipelineApplicationTests.java b/modules/ci-commons/common-pipeline/src/test/java/cd/casic/ci/common/pipeline/CommonPipelineApplicationTests.java
deleted file mode 100644
index cabc758..0000000
--- a/modules/ci-commons/common-pipeline/src/test/java/cd/casic/ci/common/pipeline/CommonPipelineApplicationTests.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package cd.casic.ci.common.pipeline;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class CommonPipelineApplicationTests {
-
- @Test
- void contextLoads() {
- }
-
-}
diff --git a/modules/ci-commons/pom.xml b/modules/ci-commons/pom.xml
deleted file mode 100644
index 216b216..0000000
--- a/modules/ci-commons/pom.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
- 4.0.0
-
- cd.casic.boot
- modules
- ${revision}
- ../pom.xml
-
-
- cd.casic.ci
- ci-commons
- ${revision}
-
- pom
-
-
- common-api
- common-pipeline
-
-
-
- 流水线process、流水线engine、流水线work、资源管理层、环境管理、agent、构建调度、项目管理、代码库、凭证、扩展Plugin、日志、流水线外设需要的commons
-
-
\ No newline at end of file
diff --git a/modules/ci-event/src/main/java/cd/casic/ci/event/enums/ActionType.java b/modules/ci-event/src/main/java/cd/casic/ci/event/enums/ActionType.java
deleted file mode 100644
index 1db57cf..0000000
--- a/modules/ci-event/src/main/java/cd/casic/ci/event/enums/ActionType.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package cd.casic.ci.event.enums;
-
-import lombok.Getter;
-
-/**
- * @Author:mianbin
- * @Package:cd.casic.ci.event.enums
- * @Project:ops-pro
- * @name:ActionType
- * @Date:2025/03/25 9:51
- * @Filename:ActionType
- * @description:Todo
- */
-@Getter
-public enum ActionType {
- RETRY, // 重试
- START, // 开始
- REFRESH, // 刷新ElementAdditionalOptions
- END, // 强制结束当前节点,会导致当前构建容器结束
- SKIP, // 跳过-不执行
- TERMINATE, // 终止
- ARCHIVE; // 归档
-}
diff --git a/modules/ci-process/pipeline-ci-process-api/pom.xml b/modules/ci-process/pipeline-ci-process-api/pom.xml
deleted file mode 100644
index ff8363c..0000000
--- a/modules/ci-process/pipeline-ci-process-api/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
- 4.0.0
-
- cd.casic.ci
- ci-process
- ${revision}
- ../pom.xml
-
-
- cd.casic.ci
- pipeline-ci-process-api
-
- pipeline-ci-process-api
- pipeline-ci-process-api
-
- ${revision}
-
- jar
-
-
-
- cd.casic.ci
- commons-api
-
-
- cd.casic.ci
- commons-pipeline
-
-
- cd.casic.ci
- ci-event
-
-
-
-
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerType.java
deleted file mode 100644
index cb3006f..0000000
--- a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerType.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package cd.casic.ci.process.api.process.pojo.trigger;
-
-import cd.casic.ci.log.scm.enums.ScmType;
-import io.swagger.v3.oas.annotations.media.Schema;
-
-/**
- * @Author:mianbin
- * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
- * @Project:ops-pro
- * @name:PipelineTriggerType
- * @Date:2025/03/24 17:27
- * @Filename:PipelineTriggerType
- * @description:Todo
- */
-public enum PipelineTriggerType {
- @Schema(title = "SVN 代码库")
- CODE_SVN,
- @Schema(title = "GIT 代码库")
- CODE_GIT,
- @Schema(title = "Gitlab 代码库")
- CODE_GITLAB,
- @Schema(title = "Github 代码库")
- GITHUB,
- @Schema(title = "TGIT 代码库")
- CODE_TGIT,
- @Schema(title = "P4 代码库")
- CODE_P4,
- @Schema(title = "手动触发")
- MANUAL,
- @Schema(title = "定时触发")
- TIME_TRIGGER,
- @Schema(title = "服务触发")
- OPENAPI,
- @Schema(title = "流水线触发")
- PIPELINE,
- @Schema(title = "远程触发")
- REMOTE;
-
- public static List toMap(ScmType scmType, String userId) {
- // 实现逻辑
- return null;
- }
-
- public static ScmType toScmType(String triggerType) {
- // 实现逻辑
- return null;
- }
-
- public static boolean webhookTrigger(String triggerType) {
- // 实现逻辑
- return false;
- }
-}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/utils/DependOnUtils.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/utils/DependOnUtils.java
deleted file mode 100644
index 4ddf69a..0000000
--- a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/utils/DependOnUtils.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package cd.casic.ci.process.api.process.utils;
-
-import cd.casic.ci.process.api.process.constant.ProcessMessageCode;
-import lombok.extern.slf4j.Slf4j;
-
-import java.util.*;
-import java.util.regex.Pattern;
-
-/**
- * @Author:mianbin
- * @Package:cd.casic.ci.process.api.process.utils
- * @Project:ops-pro
- * @name:DependOnUtils
- * @Date:2025/03/27 14:39
- * @Filename:DependOnUtils
- * @description:Todo
- */
-@Slf4j
-public class DependOnUtils {
-
- private static final Pattern REGEX = Pattern.compile("[,;]");
-
- public static void checkRepeatedJobId(Stage stage) {
- Set jobIdSet = new HashSet<>();
- for (Container c : stage.getContainers()) {
- String jobId = c.getJobId();
- if (jobId == null || jobId.isEmpty()) {
- continue;
- }
- if (jobIdSet.contains(jobId)) {
- String jobName = getContainerName(stage, c, jobId);
- throw new ErrorCodeException(
- Response.Status.CONFLICT.getStatusCode(),
- ProcessMessageCode.ERROR_PIPELINE_JOBID_EXIST,
- new String[]{jobName, jobId},
- jobName + " 的jobId(" + jobId + ")已存在"
- );
- }
- jobIdSet.add(jobId);
- }
- removeNonexistentJob(stage, jobIdSet);
- }
-
- private static void removeNonexistentJob(Stage stage, Set jobIdSet) {
- for (Container c : stage.getContainers()) {
- JobControlOption jobControlOption = null;
- if (c instanceof VMBuildContainer) {
- jobControlOption = ((VMBuildContainer) c).getJobControlOption();
- } else if (c instanceof NormalContainer) {
- jobControlOption = ((NormalContainer) c).getJobControlOption();
- }
- if (jobControlOption == null) {
- continue;
- }
- if (jobControlOption.getDependOnType() != DependOnType.ID || jobControlOption.getDependOnId() == null || jobControlOption.getDependOnId().isEmpty()) {
- continue;
- }
- List existJobIds = jobControlOption.getDependOnId().stream()
- .filter(jobIdSet::contains)
- .toList();
- jobControlOption.setDependOnId(existJobIds);
- }
- }
-
- public static void initDependOn(Stage stage, Map params) {
- Map allJobId2JobMap = new HashMap<>();
- for (Container c : stage.getContainers()) {
- String jobId = c.getJobId();
- if (jobId == null || jobId.isEmpty()) {
- continue;
- }
- allJobId2JobMap.put(jobId, c);
- }
- if (allJobId2JobMap.isEmpty()) {
- return;
- }
-
- Map> cycleCheckJobMap = new HashMap<>();
- for (Container c : stage.getContainers()) {
- JobControlOption jobControlOption = null;
- if (c instanceof VMBuildContainer) {
- jobControlOption = ((VMBuildContainer) c).getJobControlOption();
- } else if (c instanceof NormalContainer) {
- jobControlOption = ((NormalContainer) c).getJobControlOption();
- }
- if (jobControlOption == null) {
- continue;
- }
- List dependOnJobIds = getDependOnJobIds(new DependOnConfig(
- jobControlOption.getDependOnType(),
- jobControlOption.getDependOnId(),
- jobControlOption.getDependOnName()
- ), params);
- if (dependOnJobIds.isEmpty()) {
- continue;
- }
- if (c.getJobId() != null) {
- cycleCheckJobMap.put(c.getJobId(), dependOnJobIds);
- }
- Map containerId2JobIds = new HashMap<>();
- for (String dependOnJobId : dependOnJobIds) {
- Container dependOnJob = allJobId2JobMap.get(dependOnJobId);
- if (dependOnJob == null) {
- continue;
- }
- containerId2JobIds.put(dependOnJob.getId(), dependOnJobId);
- }
- if (!containerId2JobIds.isEmpty()) {
- jobControlOption.setDependOnContainerId2JobIds(containerId2JobIds);
- }
- }
-
- Map visited = new HashMap<>();
- for (String jobId : cycleCheckJobMap.keySet()) {
- dsf(jobId, cycleCheckJobMap, visited, stage, allJobId2JobMap);
- }
- }
-
- public static boolean enableDependOn(Container container) {
- JobControlOption jobControlOption = null;
- if (container instanceof VMBuildContainer) {
- jobControlOption = ((VMBuildContainer) container).getJobControlOption();
- } else if (container instanceof NormalContainer) {
- jobControlOption = ((NormalContainer) container).getJobControlOption();
- }
- if (jobControlOption == null) {
- return false;
- }
- return switch (jobControlOption.getDependOnType()) {
- case ID -> jobControlOption.getDependOnId() != null && !jobControlOption.getDependOnId().isEmpty();
- case NAME -> jobControlOption.getDependOnName() != null && !jobControlOption.getDependOnName().isEmpty();
- default -> false;
- };
- }
-
- private static List getDependOnJobIds(DependOnConfig dependOnConfig, Map params) {
- return switch (dependOnConfig.getDependOnType()) {
- case ID -> dependOnConfig.getDependOnId() != null ? dependOnConfig.getDependOnId() : Collections.emptyList();
- case NAME -> {
- if (dependOnConfig.getDependOnName() == null || dependOnConfig.getDependOnName().isEmpty()) {
- yield Collections.emptyList();
- } else {
- String[] dependONames = dependOnConfig.getDependOnName().split(REGEX);
- List result = new ArrayList<>();
- for (String name : dependONames) {
- result.add(EnvUtils.parseEnv(name, params));
- }
- yield result;
- }
- }
- default -> Collections.emptyList();
- };
- }
-
- private static void dsf(String jobId, Map> dependOnMap, Map visited, Stage stage, Map allJobId2JobMap) {
- if (visited.getOrDefault(jobId, 0) == 1) {
- String jobName = getContainerName(stage, allJobId2JobMap.get(jobId), jobId);
- String dependJobName = getContainerName(stage, allJobId2JobMap.get(dependOnJobId), dependOnJobId);
- throw new ErrorCodeException(
- ProcessMessageCode.ERROR_PIPELINE_DEPENDON_CYCLE,
- new String[]{jobName, dependJobName}
- );
- }
- if (visited.getOrDefault(jobId, 0) == 2) {
- return;
- }
-
- visited.put(jobId, 1);
- List dependOnJobIds = dependOnMap.getOrDefault(jobId, Collections.emptyList());
- for (String dependOnJobId : dependOnJobIds) {
- dsf(dependOnJobId, dependOnMap, visited, stage, allJobId2JobMap);
- }
- visited.put(jobId, 2);
- }
-
- private static String getContainerName(Stage stage, Container container, String jobId) {
- if (container == null) {
- return jobId;
- }
- String namePrefix = stage.getName() != null ? stage.getName().replaceFirst("stage-", "") : "";
- return namePrefix + "-" + container.getId();
- }
-}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/resources/application.properties b/modules/ci-process/pipeline-ci-process-api/src/main/resources/application.properties
deleted file mode 100644
index 98a782a..0000000
--- a/modules/ci-process/pipeline-ci-process-api/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-spring.application.name=pipeline-ci-process-api
diff --git a/modules/ci-process/pipeline-ci-process-api/src/test/java/cd/casic/ci/process/api/PipelineCiProcessApiApplicationTests.java b/modules/ci-process/pipeline-ci-process-api/src/test/java/cd/casic/ci/process/api/PipelineCiProcessApiApplicationTests.java
deleted file mode 100644
index 7a00b4e..0000000
--- a/modules/ci-process/pipeline-ci-process-api/src/test/java/cd/casic/ci/process/api/PipelineCiProcessApiApplicationTests.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package cd.casic.ci.process.api;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class PipelineCiProcessApiApplicationTests {
-
- @Test
- void contextLoads() {
- }
-
-}
diff --git a/modules/ci-process/pom.xml b/modules/ci-process/pom.xml
deleted file mode 100644
index 7e98dad..0000000
--- a/modules/ci-process/pom.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
- 4.0.0
-
- cd.casic.boot
- modules
- ${revision}
- ../pom.xml
-
-
- cd.casic.ci
- ci-process
- pom
- ${revision}
-
-
- pipeline-ci-process-api
-
-
-
-
- cd.casic.ci
- ci-commons
-
-
-
- cd.casic.ci
- ci-event
-
-
-
- cd.casic.ci
- ci-log
-
-
-
- cd.casic.ci
- ci-project
-
-
-
- cd.casic.ci
- ci-quality
-
-
-
- cd.casic.ci
- ci-scm-repository
-
-
-
- cd.casic.ci
- ci-ticket
-
-
-
- cd.casic.boot
- spring-boot-starter-redis
-
-
-
- cd.casic.boot
- spring-boot-starter-web
-
-
-
- cd.casic.boot
- spring-boot-starter-monitor
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/module-ci-common-pipeline/pom.xml b/modules/module-ci-common-pipeline/pom.xml
new file mode 100644
index 0000000..bee7d1b
--- /dev/null
+++ b/modules/module-ci-common-pipeline/pom.xml
@@ -0,0 +1,24 @@
+
+
+ 4.0.0
+
+ cd.casic.boot
+ modules
+ ${revision}
+
+
+ module-ci-common-pipeline
+
+ ${project.artifactId}
+ jar
+
+
+
+ cd.casic.boot
+ module-ci-common
+
+
+
+
\ No newline at end of file
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/CommonPipelineAutoConfiguration.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/CommonPipelineAutoConfiguration.java
similarity index 90%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/CommonPipelineAutoConfiguration.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/CommonPipelineAutoConfiguration.java
index 75f6e72..6f81731 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/CommonPipelineAutoConfiguration.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/CommonPipelineAutoConfiguration.java
@@ -1,5 +1,7 @@
package cd.casic.ci.common.pipeline;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
import org.springframework.context.annotation.Configuration;
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoFetcher.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoFetcher.java
similarity index 83%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoFetcher.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoFetcher.java
index af1297a..8636ea3 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoFetcher.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoFetcher.java
@@ -1,5 +1,9 @@
package cd.casic.ci.common.pipeline;
+import cd.casic.ci.common.pipeline.matrix.DispatchInfo;
+
+import java.util.Map;
+
/**
* @Author:mianbin
* @Package:cd.casic.ci.common.pipeline
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoRegisterLoader.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoRegisterLoader.java
similarity index 94%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoRegisterLoader.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoRegisterLoader.java
index 951436b..ded2a32 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoRegisterLoader.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubInfoRegisterLoader.java
@@ -1,9 +1,9 @@
package cd.casic.ci.common.pipeline;
+import cd.casic.ci.common.pipeline.matrix.DispatchInfo;
import com.fasterxml.jackson.databind.jsontype.NamedType;
import com.fasterxml.jackson.databind.module.SimpleModule;
import lombok.extern.slf4j.Slf4j;
-import org.slf4j.LoggerFactory;
import java.util.Map;
import java.util.ServiceLoader;
@@ -36,7 +36,5 @@ public class DispatchSubInfoRegisterLoader {
log.info("[REGISTER_DISPATCH]|{} for {}", entry.getValue(), entry.getKey());
}
}
-
- JsonUtil.registerModule(infoSubModule);
}
}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeFetcher.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeFetcher.java
similarity index 83%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeFetcher.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeFetcher.java
index d652e2c..0c9e662 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeFetcher.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeFetcher.java
@@ -1,5 +1,9 @@
package cd.casic.ci.common.pipeline;
+import cd.casic.ci.common.pipeline.type.DispatchType;
+
+import java.util.Map;
+
/**
* @Author:mianbin
* @Package:cd.casic.ci.common.pipeline
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeRegisterLoader.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeRegisterLoader.java
similarity index 94%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeRegisterLoader.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeRegisterLoader.java
index 08ebdaa..a42ff0d 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeRegisterLoader.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/DispatchSubTypeRegisterLoader.java
@@ -1,9 +1,9 @@
package cd.casic.ci.common.pipeline;
+import cd.casic.ci.common.pipeline.type.DispatchType;
import com.fasterxml.jackson.databind.jsontype.NamedType;
import com.fasterxml.jackson.databind.module.SimpleModule;
import lombok.extern.slf4j.Slf4j;
-import org.slf4j.LoggerFactory;
import java.util.Map;
import java.util.ServiceLoader;
@@ -36,7 +36,5 @@ public class DispatchSubTypeRegisterLoader {
log.info("[REGISTER_DISPATCH]|{} for {}", entry.getValue(), entry.getKey());
}
}
-
- JsonUtil.registerModule(typeSubModule);
}
}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeFetcher.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeFetcher.java
similarity index 83%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeFetcher.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeFetcher.java
index b6e93d6..42f413e 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeFetcher.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeFetcher.java
@@ -1,5 +1,9 @@
package cd.casic.ci.common.pipeline;
+import cd.casic.ci.common.pipeline.pojo.element.Element;
+
+import java.util.Map;
+
/**
* @Author:mianbin
* @Package:cd.casic.ci.common.pipeline
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeRegisterLoader.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeRegisterLoader.java
similarity index 89%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeRegisterLoader.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeRegisterLoader.java
index c3afc08..ec920c6 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeRegisterLoader.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ElementSubTypeRegisterLoader.java
@@ -1,10 +1,10 @@
package cd.casic.ci.common.pipeline;
+import cd.casic.ci.common.pipeline.pojo.element.Element;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.jsontype.NamedType;
import com.fasterxml.jackson.databind.module.SimpleModule;
import lombok.extern.slf4j.Slf4j;
-import org.slf4j.LoggerFactory;
import java.util.Map;
import java.util.ServiceLoader;
@@ -41,10 +41,6 @@ public class ElementSubTypeRegisterLoader {
log.info("[REGISTER_MODEL_ELEMENT]|{} for {}", entry.getValue(), entry.getKey());
}
}
- JsonUtil.registerModule(elementSubModule);
- if (objectMapper != null) {
- objectMapper.registerModule(elementSubModule);
- }
}
}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/EnvReplacementParser.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/EnvReplacementParser.java
similarity index 61%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/EnvReplacementParser.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/EnvReplacementParser.java
index 1209e6c..fff9b70 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/EnvReplacementParser.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/EnvReplacementParser.java
@@ -1,6 +1,14 @@
package cd.casic.ci.common.pipeline;
-import org.slf4j.LoggerFactory;
+import cd.casic.ci.common.functions.ExpressionOutput;
+import cd.casic.ci.common.functions.IFunctionInfo;
+import cd.casic.ci.common.pojo.NamedValueInfo;
+import cd.casic.ci.common.pipeline.dialect.IPipelineDialect;
+import cd.casic.ci.common.pipeline.utils.ObjectReplaceEnvVarUtil;
+import cn.hutool.core.lang.Pair;
+import cn.hutool.json.JSONUtil;
+import com.networknt.schema.ExecutionContext;
+import lombok.extern.slf4j.Slf4j;
import java.util.List;
import java.util.Map;
@@ -15,8 +23,8 @@ import java.util.regex.Pattern;
* @Filename:EnvReplacementParser
* @description:Todo
*/
+@Slf4j
public class EnvReplacementParser {
- private static final org.slf4j.Logger logger = LoggerFactory.getLogger(EnvReplacementParser.class);
private static final Pattern expressionPattern = Pattern.compile("\\$[{]{2}([^$^{}]+)[}]{2}");
public static String parse(Object value, Map contextMap, Boolean onlyExpression,
@@ -36,19 +44,22 @@ public class EnvReplacementParser {
public static String parse(Object value, Boolean onlyExpression, ExprReplacementOptions options) {
if (value == null) return "";
if (onlyExpression == null || !onlyExpression) {
- return JsonUtil.toJson(ObjectReplaceEnvVarUtil.replaceEnvVar(value, options.contextMap), false);
+ return JSONUtil.toJsonStr(ObjectReplaceEnvVarUtil.replaceEnvVar(value, options.getContextMap()));
} else {
- return JsonUtil.toJson(ExprReplacementUtil.replaceEnvVar(value, options), false);
+ //return JsonUtil.toJson(ExprReplacementUtil.replaceEnvVar(value, options), false);
+ return null;
}
}
- public static Pair> getCustomExecutionContextByMap(Map variables,
- List extendNamedValueMap) {
- return ExprReplacementUtil.getCustomExecutionContextByMap(variables, extendNamedValueMap);
- }
+// public static Pair> getCustomExecutionContextByMap(Map variables,
+// List extendNamedValueMap) {
+// return ExprReplacementUtil.getCustomExecutionContextByMap(variables, extendNamedValueMap);
+// }
public static boolean containsExpressions(String value) {
- if (value == null) return false;
+ if (value == null) {
+ return false;
+ }
return expressionPattern.matcher(value).find();
}
}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ExprReplacementOptions.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ExprReplacementOptions.java
similarity index 58%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ExprReplacementOptions.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ExprReplacementOptions.java
index 9b9feaa..51042b3 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ExprReplacementOptions.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ExprReplacementOptions.java
@@ -1,6 +1,12 @@
package cd.casic.ci.common.pipeline;
+import cd.casic.ci.common.functions.ExpressionOutput;
+import cd.casic.ci.common.functions.IFunctionInfo;
+import cd.casic.ci.common.pojo.NamedValueInfo;
+import cn.hutool.core.lang.Pair;
+import com.networknt.schema.ExecutionContext;
import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.List;
@@ -16,6 +22,7 @@ import java.util.Map;
* @description:Todo
*/
@Data
+@AllArgsConstructor
@Schema(title = "表达式替换参数")
public class ExprReplacementOptions {
@@ -31,4 +38,11 @@ public class ExprReplacementOptions {
private Iterable functions;
private ExpressionOutput output;
+
+ public ExprReplacementOptions(Map contextMap, Pair> contextPair, Iterable functions, ExpressionOutput output) {
+ this.contextMap = contextMap;
+ this.contextPair = contextPair;
+ this.functions = functions;
+ this.output = output;
+ }
}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/IModelTemplate.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/IModelTemplate.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/IModelTemplate.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/IModelTemplate.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/Model.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/Model.java
similarity index 86%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/Model.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/Model.java
index 449be08..da6d10d 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/Model.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/Model.java
@@ -1,5 +1,9 @@
package cd.casic.ci.common.pipeline;
+import cd.casic.ci.common.pipeline.container.Stage;
+import cd.casic.ci.common.pipeline.pojo.event.PipelineCallbackEvent;
+import cd.casic.ci.common.pipeline.pojo.time.BuildRecordTimeCost;
+import cd.casic.ci.common.pipeline.pojo.transfer.Resources;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -28,7 +32,8 @@ public class Model implements IModelTemplate {
private List stages;
@Schema(title = "标签", required = false)
- @Deprecated("以PipelineGroupService和流水线设置版本中为准")
+ @Deprecated
+ //"以PipelineGroupService和流水线设置版本中为准"
private List labels;
@Schema(title = "是否从模板中实例化出来的", required = false)
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ModelUpdate.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ModelUpdate.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ModelUpdate.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/ModelUpdate.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/NameAndValue.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/NameAndValue.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/NameAndValue.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/NameAndValue.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/PipelineVersionWithModel.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/PipelineVersionWithModel.java
similarity index 96%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/PipelineVersionWithModel.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/PipelineVersionWithModel.java
index 4c946d3..f700adf 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/PipelineVersionWithModel.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/PipelineVersionWithModel.java
@@ -1,6 +1,7 @@
package cd.casic.ci.common.pipeline;
import cd.casic.ci.common.pipeline.pojo.PipelineModelAndSetting;
+import cd.casic.ci.common.pipeline.pojo.transfer.PreviewResponse;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/PipelineVersionWithModelRequest.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/PipelineVersionWithModelRequest.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/PipelineVersionWithModelRequest.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/PipelineVersionWithModelRequest.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/AgentReuseMutex.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/AgentReuseMutex.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/AgentReuseMutex.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/AgentReuseMutex.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/Container.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/Container.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/Container.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/Container.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/MutexGroup.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/MutexGroup.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/MutexGroup.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/MutexGroup.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/NormalContainer.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/NormalContainer.java
similarity index 83%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/NormalContainer.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/NormalContainer.java
index 0fcfed5..03409f0 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/NormalContainer.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/NormalContainer.java
@@ -15,7 +15,7 @@ import java.util.Map;
@EqualsAndHashCode(callSuper = false)
@Schema(title = "流水线模型-普通任务容器")
public class NormalContainer extends Container {
- public static final String CLASS_TYPE = "normal";
+ public static final String classType = "normal";
private Boolean enableSkip = false;
@@ -34,7 +34,7 @@ public class NormalContainer extends Container {
@Override
public String getClassType() {
- return CLASS_TYPE;
+ return classType;
}
@Override
@@ -79,7 +79,7 @@ public class NormalContainer extends Container {
@Override
public void setContainerEnable(boolean enable) {
- jobControlOption = jobControlOption != null ? jobControlOption.copy(enable) : new JobControlOption(enable);
+ jobControlOption = jobControlOption != null ? jobControlOption.setEnable(enable) : new JobControlOption().setEnable(enable);
}
@Override
@@ -92,4 +92,34 @@ public class NormalContainer extends Container {
}
super.transformCompatibility();
}
+
+ @Override
+ public String getTemplate() {
+ return null;
+ }
+
+ @Override
+ public String getRef() {
+ return null;
+ }
+
+ @Override
+ public Map getVariables() {
+ return null;
+ }
+
+ @Override
+ public void setTemplate(String template) {
+
+ }
+
+ @Override
+ public void setRef(String ref) {
+
+ }
+
+ @Override
+ public void setVariables(Map variables) {
+
+ }
}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/Stage.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/Stage.java
similarity index 93%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/Stage.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/Stage.java
index dbaeb8b..aa32481 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/Stage.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/Stage.java
@@ -105,6 +105,10 @@ public class Stage implements IModelTemplate {
return stageControlOption != null ? stageControlOption.getEnable() : true;
}
+ public boolean isFinally() {
+ return finallyStage != null && finallyStage;
+ }
+
@Override
public String getTemplate() {
return null;
@@ -119,4 +123,19 @@ public class Stage implements IModelTemplate {
public Map getVariables() {
return null;
}
+
+ @Override
+ public void setTemplate(String template) {
+
+ }
+
+ @Override
+ public void setRef(String ref) {
+
+ }
+
+ @Override
+ public void setVariables(Map variables) {
+
+ }
}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/TriggerContainer.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/TriggerContainer.java
similarity index 95%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/TriggerContainer.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/TriggerContainer.java
index 1381280..ae84204 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/TriggerContainer.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/TriggerContainer.java
@@ -124,4 +124,19 @@ public class TriggerContainer extends Container {
public Map getVariables() {
return null;
}
+
+ @Override
+ public void setTemplate(String template) {
+
+ }
+
+ @Override
+ public void setRef(String ref) {
+
+ }
+
+ @Override
+ public void setVariables(Map variables) {
+
+ }
}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/VMBuildContainer.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/VMBuildContainer.java
similarity index 97%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/VMBuildContainer.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/VMBuildContainer.java
index 95670b6..b4ebc7f 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/VMBuildContainer.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/container/VMBuildContainer.java
@@ -188,4 +188,19 @@ public class VMBuildContainer extends Container {
public Map getVariables() {
return null;
}
+
+ @Override
+ public void setTemplate(String template) {
+
+ }
+
+ @Override
+ public void setRef(String ref) {
+
+ }
+
+ @Override
+ public void setVariables(Map variables) {
+
+ }
}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/ClassicPipelineDialect.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/ClassicPipelineDialect.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/ClassicPipelineDialect.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/ClassicPipelineDialect.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/ConstrainedPipelineDialect.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/ConstrainedPipelineDialect.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/ConstrainedPipelineDialect.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/ConstrainedPipelineDialect.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/IPipelineDialect.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/IPipelineDialect.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/IPipelineDialect.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/IPipelineDialect.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/PipelineDialectType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/PipelineDialectType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/PipelineDialectType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/PipelineDialectType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/PipelineDialectUtil.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/PipelineDialectUtil.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/PipelineDialectUtil.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/dialect/PipelineDialectUtil.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BranchVersionAction.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BranchVersionAction.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BranchVersionAction.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BranchVersionAction.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildFormPropertyType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildFormPropertyType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildFormPropertyType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildFormPropertyType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildPropertyType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildPropertyType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildPropertyType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildPropertyType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildRecordTimeStamp.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildRecordTimeStamp.java
similarity index 90%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildRecordTimeStamp.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildRecordTimeStamp.java
index d7691d1..d8717eb 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildRecordTimeStamp.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildRecordTimeStamp.java
@@ -1,9 +1,12 @@
package cd.casic.ci.common.pipeline.enums;
+import cd.casic.ci.common.pipeline.pojo.time.BuildRecordTimeLine;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.List;
+
/**
* @Author:mianbin
* @Package:cd.casic.ci.common.pipeline.enums
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildScriptType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildScriptType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildScriptType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildScriptType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildStatus.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildStatus.java
similarity index 94%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildStatus.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildStatus.java
index 8f4cfe5..22a39dd 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildStatus.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildStatus.java
@@ -100,11 +100,6 @@ public enum BuildStatus {
return this == QUEUE_TIMEOUT || this == EXEC_TIMEOUT || this == HEARTBEAT_TIMEOUT;
}
- public String getI18n(String language) {
- // Assuming MessageUtil is available in Java
- return MessageUtil.getMessageByLocale("buildStatus." + statusName, language);
- }
-
public static BuildStatus parse(String statusName) {
try {
return statusName == null ? UNKNOWN : BuildStatus.valueOf(statusName);
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildTaskStatus.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildTaskStatus.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildTaskStatus.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/BuildTaskStatus.java
diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CallBackEvent.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CallBackEvent.java
new file mode 100644
index 0000000..e54bbb4
--- /dev/null
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CallBackEvent.java
@@ -0,0 +1,33 @@
+package cd.casic.ci.common.pipeline.enums;
+
+/**
+ * @author by mianbin
+ * @Classname CallBackEvent
+ * @Description TODO
+ * @Date 2025/4/2 9:48
+ */ // 定义回调事件的枚举类
+public enum CallBackEvent {
+ DELETE_PIPELINE, /*流水线删除*/
+ CREATE_PIPELINE, /*流水线创建*/
+ UPDATE_PIPELINE, /*流水线更新,包括model和setting。*/
+ STREAM_ENABLED, /*stream ci 开启/关闭*/
+ RESTORE_PIPELINE, /*流水线恢复*/
+
+ BUILD_QUEUE, /*构建排队,包含并发超限时排队、并发组排队。*/
+ BUILD_START, /*构建开始,不包含并发超限时排队、并发组排队。*/
+ BUILD_END, /*构建结束*/
+ BUILD_STAGE_START, /*stage开始*/
+ BUILD_STAGE_END, /*stage结束*/
+ BUILD_JOB_QUEUE, /*job排队,包含互斥组排队、构建机复用互斥排队、最大job并发排队。*/
+ BUILD_JOB_START, /*job开始,不包含BUILD_JOB_QUEUE。如果job SKIP或没有可执行的插件,就不会有该事件。*/
+ BUILD_JOB_END, /*job结束,job SKIP或没有可执行的插件时会有该事件。*/
+ BUILD_AGENT_START, /*构建机启动,现在仅包含第三方构建机*/
+ BUILD_TASK_START, /*插件开始*/
+ BUILD_TASK_END, /*插件结束*/
+ BUILD_TASK_PAUSE, /*插件前置暂停*/
+
+ PROJECT_CREATE, /*项目创建*/
+ PROJECT_UPDATE, /*项目更新*/
+ PROJECT_ENABLE, /*项目启用*/
+ PROJECT_DISABLE /*项目禁用*/
+}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CertType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CertType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CertType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CertType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ChannelCode.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ChannelCode.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ChannelCode.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ChannelCode.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CharsetType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CharsetType.java
similarity index 97%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CharsetType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CharsetType.java
index 086b63d..77fcdb1 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CharsetType.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CharsetType.java
@@ -16,6 +16,7 @@ import lombok.Getter;
@AllArgsConstructor
public enum CharsetType {
DEFAULT,
+ GB2312,
UTF_8,
GBK;
}
\ No newline at end of file
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CodePullStrategy.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CodePullStrategy.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CodePullStrategy.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CodePullStrategy.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CodeTargetAction.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CodeTargetAction.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CodeTargetAction.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/CodeTargetAction.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ContainerMutexStatus.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ContainerMutexStatus.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ContainerMutexStatus.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ContainerMutexStatus.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DependOnType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DependOnType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DependOnType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DependOnType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DeployStatus.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DeployStatus.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DeployStatus.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DeployStatus.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DockerVersion.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DockerVersion.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DockerVersion.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/DockerVersion.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/EnvControlTaskType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/EnvControlTaskType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/EnvControlTaskType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/EnvControlTaskType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/GitPullModeType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/GitPullModeType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/GitPullModeType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/GitPullModeType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/JobRunCondition.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/JobRunCondition.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/JobRunCondition.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/JobRunCondition.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ManualReviewAction.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ManualReviewAction.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ManualReviewAction.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ManualReviewAction.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/PipelineInstanceTypeEnum.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/PipelineInstanceTypeEnum.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/PipelineInstanceTypeEnum.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/PipelineInstanceTypeEnum.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/PipelineStorageType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/PipelineStorageType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/PipelineStorageType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/PipelineStorageType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/Platform.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/Platform.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/Platform.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/Platform.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ProjectPipelineCallbackStatus.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ProjectPipelineCallbackStatus.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ProjectPipelineCallbackStatus.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/ProjectPipelineCallbackStatus.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SVNVersion.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SVNVersion.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SVNVersion.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SVNVersion.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SourceType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SourceType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SourceType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SourceType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/StageRunCondition.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/StageRunCondition.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/StageRunCondition.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/StageRunCondition.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/StartType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/StartType.java
similarity index 89%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/StartType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/StartType.java
index 2a8dd98..cd1ccf4 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/StartType.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/StartType.java
@@ -2,10 +2,15 @@ package cd.casic.ci.common.pipeline.enums;
import cd.casic.ci.common.pipeline.pojo.element.trigger.*;
import lombok.AllArgsConstructor;
+import lombok.Data;
import lombok.Getter;
import org.slf4j.LoggerFactory;
+import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* @Author:mianbin
@@ -48,7 +53,8 @@ public enum StartType {
case "PIPELINE" -> PIPELINE.name();
default -> "";
};
- return name.isBlank() ? name : MessageUtil.getMessageByLocale("START_TYPE_" + name, language, params);
+
+ return name.isBlank() ? name : MessageFormat.format("START_TYPE_" + name, language, params);
}
public static StartType toStartType(String type) {
@@ -86,4 +92,11 @@ public enum StartType {
default -> RemoteTriggerElement.classType;
};
}
+
+ @Data
+ @AllArgsConstructor
+ static class IdValue {
+ private String id;
+ private String value;
+ }
}
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SvnDepth.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SvnDepth.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SvnDepth.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/SvnDepth.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/TclsType.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/TclsType.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/TclsType.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/TclsType.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VMBaseOS.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VMBaseOS.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VMBaseOS.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VMBaseOS.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VMBuildResult.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VMBuildResult.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VMBuildResult.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VMBuildResult.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VersionStatus.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VersionStatus.java
similarity index 100%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VersionStatus.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/enums/VersionStatus.java
diff --git a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/extend/ModelCheckPlugin.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/extend/ModelCheckPlugin.java
similarity index 87%
rename from modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/extend/ModelCheckPlugin.java
rename to modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/extend/ModelCheckPlugin.java
index 80310cb..d2e879f 100644
--- a/modules/ci-commons/common-pipeline/src/main/java/cd/casic/ci/common/pipeline/extend/ModelCheckPlugin.java
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/extend/ModelCheckPlugin.java
@@ -6,6 +6,7 @@ import cd.casic.ci.common.pipeline.dialect.IPipelineDialect;
import cd.casic.ci.common.pipeline.pojo.element.Element;
import cd.casic.ci.common.pipeline.pojo.element.atom.BeforeDeleteParam;
import cd.casic.ci.common.pipeline.pojo.setting.PipelineSetting;
+import cd.casic.framework.commons.exception.ServerException;
import java.util.Map;
@@ -26,7 +27,7 @@ public interface ModelCheckPlugin {
* @param userId 操作人
* @param oauthUser 当前流水线权限代持人
* @param pipelineDialect 流水线方言,只有新增/编辑流水线或模版时才需要传入
- * @throws ErrorCodeException 检查失败或异常
+ * @throws ServerException 检查失败或异常
*/
int checkModelIntegrity(
Model model,
@@ -36,14 +37,14 @@ public interface ModelCheckPlugin {
String oauthUser,
IPipelineDialect pipelineDialect,
String pipelineId
- ) throws ErrorCodeException;
+ ) throws ServerException;
/**
* 检查[setting]配置的完整性
*
- * @throws ErrorCodeException 检查失败或异常
+ * @throws ServerException 检查失败或异常
*/
- void checkSettingIntegrity(PipelineSetting setting, String projectId) throws ErrorCodeException;
+ void checkSettingIntegrity(PipelineSetting setting, String projectId) throws ServerException;
/**
* 清理Model--不删除里面的Element内的逻辑
@@ -67,17 +68,17 @@ public interface ModelCheckPlugin {
* 检查[container]下的[element]插件的超时配置是否合法。
* 如果使用了变量,则从变量表[contextMap]进行替换,如果值不符合,则抛出异常[ErrorCodeException]
*/
- void checkElementTimeoutVar(Container container, Element element, Map contextMap) throws ErrorCodeException;
+ void checkElementTimeoutVar(Container container, Element element, Map contextMap) throws ServerException;
/**
* 检查[container]下互斥组配置是否合法,
* 如果使用了变量,则从变量表[contextMap]进行替换,如果值不符合,则抛出异常[ErrorCodeException]
*/
- void checkMutexGroup(Container container, Map contextMap) throws ErrorCodeException;
+ void checkMutexGroup(Container container, Map contextMap) throws ServerException;
/**
* 检查是否是[finallyStage]Stage的Job[container]下[JobControlOption]配置是否合法。
* 如果使用了变量,则从变量表[contextMap]进行替换,如果值不符合,则抛出异常[ErrorCodeException]
*/
- void checkJobCondition(Container container, boolean finallyStage, Map contextMap) throws ErrorCodeException;
+ void checkJobCondition(Container container, boolean finallyStage, Map contextMap) throws ServerException;
}
diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/matrix/DispatchInfo.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/matrix/DispatchInfo.java
new file mode 100644
index 0000000..0c11be9
--- /dev/null
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/matrix/DispatchInfo.java
@@ -0,0 +1,28 @@
+package cd.casic.ci.common.pipeline.matrix;
+
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import lombok.Data;
+
+
+/**
+ * @author by mianbin
+ * @Classname DispatchInfo
+ * @Description TODO
+ * @Date 2025/3/29 15:35
+ */
+@Data
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "dispatchInfo",
+ visible = false
+)
+@JsonSubTypes.Type(value = SampleDispatchInfo.class, name = "SAMPLE")
+public abstract class DispatchInfo {
+ protected String name;
+
+ public DispatchInfo(String name) {
+ this.name = name;
+ }
+}
diff --git a/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/matrix/MatrixConfig.java b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/matrix/MatrixConfig.java
new file mode 100644
index 0000000..0cf3a26
--- /dev/null
+++ b/modules/module-ci-common-pipeline/src/main/java/cd/casic/ci/common/pipeline/matrix/MatrixConfig.java
@@ -0,0 +1,155 @@
+package cd.casic.ci.common.pipeline.matrix;
+import cd.casic.ci.common.utils.YamlUtil;
+import cd.casic.ci.common.pipeline.utils.MatrixContextUtils;
+import cn.hutool.core.lang.Pair;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.*;
+
+
+/**
+ * @author by mianbin
+ * @Classname MatrixConfig
+ * @Description TODO
+ * @Date 2025/3/29 15:46
+ */
+
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(title = "矩阵的分裂计算配置")
+public class MatrixConfig {
+ @Schema(title = "分裂策略", required = true)
+ private Map> strategy;
+ @Schema(title = "额外的参数组合", required = true)
+ private List