From 9feee4fd4519612c3ee3392011f87f23ce0a0df8 Mon Sep 17 00:00:00 2001
From: Hope Li <1278288511@qq.com>
Date: Mon, 5 May 2025 20:37:03 +0800
Subject: [PATCH] =?UTF-8?q?5/5=20ljc=20=E8=A1=A5=E5=85=85trigger=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81=E5=9D=97=EF=BC=9B=20=E6=96=B0=E5=A2=9Eutil/variable/v?=
=?UTF-8?q?ersion/wehHook=E6=A8=A1=E5=9D=97=EF=BC=9B=20task=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97=E4=BB=A3=E7=A0=81=E5=88=9D=E6=AD=A5=E6=8F=90=E4=BA=A4?=
=?UTF-8?q?=EF=BC=8C=E5=8C=85=E5=90=AB=E5=AD=90=E6=A8=A1=E5=9D=97artifact/?=
=?UTF-8?q?build/code/codescan=EF=BC=9B=20=E8=B0=83=E6=95=B4=E9=83=A8?=
=?UTF-8?q?=E5=88=86service=E5=92=8Cimpl=E4=BD=8D=E7=BD=AE=EF=BC=8C?=
=?UTF-8?q?=E8=BF=9B=E8=A1=8C=E7=BB=9F=E4=B8=80=E5=8C=85=E8=B7=AF=E5=BE=84?=
=?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=8C=E5=AF=B9service=E5=92=8Cimpl?=
=?UTF-8?q?=E7=9B=B8=E4=BA=92=E5=85=B3=E7=B3=BB=E5=81=9A=E4=BB=A3=E7=A0=81?=
=?UTF-8?q?=E8=A1=A5=E5=85=85=E4=BB=A5=E5=8F=8A=E7=BC=96=E8=AF=91=E8=B0=83?=
=?UTF-8?q?=E8=AF=95=EF=BC=88=E5=8F=AF=E8=83=BD=E5=BD=B1=E5=93=8D=E9=83=A8?=
=?UTF-8?q?=E5=88=86=E5=8E=9F=E5=85=88=E5=8C=85=E7=9B=AE=E5=BD=95=E7=BB=93?=
=?UTF-8?q?=E6=9E=84=EF=BC=89=EF=BC=9B=20=E6=96=B0=E5=A2=9E=E9=83=A8?=
=?UTF-8?q?=E5=88=86=E5=B7=A5=E5=85=B7=E7=B1=BB/=E6=B3=A8=E8=A7=A3?=
=?UTF-8?q?=E4=BB=A5=E5=8F=8A=E7=B3=BB=E7=BB=9F=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
modules/module-ci-commons/pom.xml | 4 +
.../ci/commons/bean/commons/Pagination.java | 26 +
.../ci/commons/bean/jdbc/JdbcTemplate.java | 26 +
.../ci/commons/join/annototion/Join.java | 18 +
.../process/core/context/AppHomeContext.java | 22 +
.../execute/impl/PipelineExecServiceImpl.java | 6 +-
.../definition/impl/PipelineServiceImpl.java | 7 +-
.../service/impl/PipelineExecServiceImpl.java | 6 +-
.../setting/impl/CacheServiceImpl.java | 6 +-
.../support/util/PipelineDataService.java | 15 +
.../util/impl/PipelineDataServiceImpl.java | 55 ++
.../util/impl/PipelineUtilServiceImpl.java | 126 ++++
.../support/util/util/PipelineFinal.java | 9 +
.../util/util/PipelineRequestUtil.java | 222 +++++++
.../support/variable/dao/VariableDao.java | 19 +-
.../variable/dataobject/VariableDo.java | 2 +-
.../support/variable/model}/ExecVariable.java | 2 +-
.../support/variable/model}/Variable.java | 2 +-
.../variable/model}/VariableQuery.java | 3 +-
.../service}/ExecVariableService.java | 4 +-
.../variable/service}/VariableService.java | 6 +-
.../service/impl/ExecVariableServiceImpl.java | 10 +
.../service/impl/VariableServiceImpl.java | 173 ++++++
.../service}/PipelineVersionService.java | 2 +-
.../impl/PipelineVersionServiceImpl.java | 31 +
.../support/webHook/model/WebHook.java | 51 ++
.../task/artifact/dao/TaskArtifactDao.java | 39 ++
.../artifact/dataobject/TaskArtifactDo.java | 51 ++
.../artifact/service/TaskArtifactService.java | 76 +++
.../service/impl/TaskArtifactServiceImpl.java | 132 +++++
.../impl/TaskArtifactXpackServiceImpl.java | 97 +++
.../process/task/build/dao/TaskBuildDao.java | 69 +++
.../task/build/dao/TaskBuildProductDao.java | 84 +++
.../task/build/dataobject/TaskBuildDo.java | 60 ++
.../build/dataobject/TaskBuildProductDo.java | 43 ++
.../task/build/service/TaskBuildService.java | 85 +++
.../impl/TaskBuildProductServiceImpl.java | 102 ++++
.../service/impl/TaskBuildServiceImpl.java | 91 +++
.../PipelineCodeGitHubController.java | 70 +++
.../PipelineCodeGitLabController.java | 71 +++
.../PipelineCodeGiteeController.java | 71 +++
.../PipelineCodeGittokController.java | 70 +++
.../PipelineCodePriGitLabController.java | 70 +++
.../process/task/code/dao/TaskCodeDao.java | 70 +++
.../task/code/dataobject/TaskCodeDo.java | 70 +++
.../process/task/code/jpa/JpaOperation.java | 10 +
.../process/task/code/jpa/JpaTemplate.java | 73 +++
.../process/task/code/model/TaskCode.java | 20 +
.../code/service/TaskCodeGitHubService.java | 49 ++
.../code/service/TaskCodeGitLabService.java | 49 ++
.../code/service/TaskCodeGiteeService.java | 50 ++
.../service/TaskCodePriGitLabService.java | 48 ++
.../task/code/service/TaskCodeService.java | 81 +++
.../impl/TaskCodeGitHubServiceImpl.java | 258 ++++++++
.../impl/TaskCodeGitLabServiceImpl.java | 257 ++++++++
.../impl/TaskCodeGiteeServiceImpl.java | 260 +++++++++
.../impl/TaskCodeGittokServiceImpl.java | 282 +++++++++
.../impl/TaskCodePriGitLabServiceImpl.java | 262 +++++++++
.../service/impl/TaskCodeServiceImpl.java | 221 +++++++
.../controller/SpotbugsScanController.java | 111 ++++
.../task/codescan/dao/SpotbugsScanDao.java | 77 +++
.../task/codescan/dao/TaskCodeScanDao.java | 73 +++
.../dataobject/SpotbugsScanEntity.java | 64 ++
.../dataobject/TaskCodeScanEntity.java | 62 ++
.../service/impl/SpotbugsScanServiceImpl.java | 98 ++++
.../service/impl/SpotbugsXmlConfig.java | 550 ++++++++++++++++++
.../service/impl/TaskCodeScanServiceImpl.java | 145 +++++
67 files changed, 5344 insertions(+), 30 deletions(-)
create mode 100644 modules/module-ci-commons/src/main/java/cd/casic/ci/commons/bean/commons/Pagination.java
create mode 100644 modules/module-ci-commons/src/main/java/cd/casic/ci/commons/bean/jdbc/JdbcTemplate.java
create mode 100644 modules/module-ci-commons/src/main/java/cd/casic/ci/commons/join/annototion/Join.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/core/context/AppHomeContext.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/PipelineDataService.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/impl/PipelineDataServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/impl/PipelineUtilServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/util/PipelineRequestUtil.java
rename modules/{module-ci-commons/src/main/java/cd/casic/ci/commons/bean/process/definition => module-ci-process-biz/src/main/java/cd/casic/module/process/support/variable/model}/ExecVariable.java (91%)
rename modules/{module-ci-commons/src/main/java/cd/casic/ci/commons/bean/process/definition => module-ci-process-biz/src/main/java/cd/casic/module/process/support/variable/model}/Variable.java (94%)
rename modules/{module-ci-commons/src/main/java/cd/casic/ci/commons/bean/process/definition => module-ci-process-biz/src/main/java/cd/casic/module/process/support/variable/model}/VariableQuery.java (91%)
rename modules/module-ci-process-biz/src/main/java/cd/casic/module/process/{process/definition => support/variable/service}/ExecVariableService.java (75%)
rename modules/module-ci-process-biz/src/main/java/cd/casic/module/process/{process/definition => support/variable/service}/VariableService.java (88%)
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/variable/service/impl/ExecVariableServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/variable/service/impl/VariableServiceImpl.java
rename modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/{home => version/service}/PipelineVersionService.java (74%)
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/version/service/impl/PipelineVersionServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/webHook/model/WebHook.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/artifact/dao/TaskArtifactDao.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/artifact/dataobject/TaskArtifactDo.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/artifact/service/TaskArtifactService.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/artifact/service/impl/TaskArtifactServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/artifact/service/impl/TaskArtifactXpackServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/build/dao/TaskBuildDao.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/build/dao/TaskBuildProductDao.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/build/dataobject/TaskBuildDo.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/build/dataobject/TaskBuildProductDo.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/build/service/TaskBuildService.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/build/service/impl/TaskBuildProductServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/build/service/impl/TaskBuildServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/controller/PipelineCodeGitHubController.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/controller/PipelineCodeGitLabController.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/controller/PipelineCodeGiteeController.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/controller/PipelineCodeGittokController.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/controller/PipelineCodePriGitLabController.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/dao/TaskCodeDao.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/dataobject/TaskCodeDo.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/jpa/JpaOperation.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/jpa/JpaTemplate.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/TaskCodeGitHubService.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/TaskCodeGitLabService.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/TaskCodeGiteeService.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/TaskCodePriGitLabService.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/TaskCodeService.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/impl/TaskCodeGitHubServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/impl/TaskCodeGitLabServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/impl/TaskCodeGiteeServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/impl/TaskCodeGittokServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/impl/TaskCodePriGitLabServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/code/service/impl/TaskCodeServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/codescan/controller/SpotbugsScanController.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/codescan/dao/SpotbugsScanDao.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/codescan/dao/TaskCodeScanDao.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/codescan/dataobject/SpotbugsScanEntity.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/codescan/dataobject/TaskCodeScanEntity.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/codescan/service/impl/SpotbugsScanServiceImpl.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/codescan/service/impl/SpotbugsXmlConfig.java
create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/module/process/task/codescan/service/impl/TaskCodeScanServiceImpl.java
diff --git a/modules/module-ci-commons/pom.xml b/modules/module-ci-commons/pom.xml
index 28ea6509..94750763 100644
--- a/modules/module-ci-commons/pom.xml
+++ b/modules/module-ci-commons/pom.xml
@@ -23,6 +23,10 @@
cd.casic.boot
module-system-api
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
\ No newline at end of file
diff --git a/modules/module-ci-commons/src/main/java/cd/casic/ci/commons/bean/commons/Pagination.java b/modules/module-ci-commons/src/main/java/cd/casic/ci/commons/bean/commons/Pagination.java
new file mode 100644
index 00000000..5edebf77
--- /dev/null
+++ b/modules/module-ci-commons/src/main/java/cd/casic/ci/commons/bean/commons/Pagination.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.commons.bean.commons;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @ClassName Pagination
+ * @Author hopeli
+ * @Date 2025/5/2 21:32
+ * @Version 1.0
+ */
+@Data
+public class Pagination implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 5016662499561189494L;
+ private int pageSize = 10;
+ private int currentPage = 1;
+ private int totalRecord;
+ private int totalPage;
+ private int beginIndex;
+ private int endIndex;
+ private List dataList;
+}
diff --git a/modules/module-ci-commons/src/main/java/cd/casic/ci/commons/bean/jdbc/JdbcTemplate.java b/modules/module-ci-commons/src/main/java/cd/casic/ci/commons/bean/jdbc/JdbcTemplate.java
new file mode 100644
index 00000000..c6d08f6b
--- /dev/null
+++ b/modules/module-ci-commons/src/main/java/cd/casic/ci/commons/bean/jdbc/JdbcTemplate.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.commons.bean.jdbc;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.sql.DataSource;
+
+/**
+ * @ClassName JdbcTemplate
+ * @Author hopeli
+ * @Date 2025/5/2 21:29
+ * @Version 1.0
+ */
+
+public class JdbcTemplate extends org.springframework.jdbc.core.JdbcTemplate {
+ private static Logger logger = LoggerFactory.getLogger(JdbcTemplate.class);
+
+ public JdbcTemplate(DataSource dataSource) {
+ super(dataSource);
+ }
+
+ public JdbcTemplate(DataSource dataSource, boolean lazyInit) {
+ super(dataSource, lazyInit);
+ }
+
+}
diff --git a/modules/module-ci-commons/src/main/java/cd/casic/ci/commons/join/annototion/Join.java b/modules/module-ci-commons/src/main/java/cd/casic/ci/commons/join/annototion/Join.java
new file mode 100644
index 00000000..61d159d3
--- /dev/null
+++ b/modules/module-ci-commons/src/main/java/cd/casic/ci/commons/join/annototion/Join.java
@@ -0,0 +1,18 @@
+package cd.casic.ci.commons.join.annototion;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @ClassName Join
+ * @Author hopeli
+ * @Date 2025/5/2 18:38
+ * @Version 1.0
+ */
+@Target({ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Join {
+ Class model() default Object.class;
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/core/context/AppHomeContext.java b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/core/context/AppHomeContext.java
new file mode 100644
index 00000000..3dbeed68
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/core/context/AppHomeContext.java
@@ -0,0 +1,22 @@
+package cd.casic.module.process.core.context;
+
+/**
+ * @ClassName AppHomeContext
+ * @Author hopeli
+ * @Date 2025/5/2 18:25
+ * @Version 1.0
+ */
+public class AppHomeContext {
+ private static String appHome;
+
+ public AppHomeContext() {
+ }
+
+ public static String getAppHome() {
+ return appHome;
+ }
+
+ public static void setAppHome(String appHome) {
+ AppHomeContext.appHome = appHome;
+ }
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/engine/execute/impl/PipelineExecServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/engine/execute/impl/PipelineExecServiceImpl.java
index b0a794ea..85994e83 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/engine/execute/impl/PipelineExecServiceImpl.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/engine/execute/impl/PipelineExecServiceImpl.java
@@ -4,7 +4,7 @@ import cd.casic.ci.commons.bean.engine.execute.PipelineDetails;
import cd.casic.ci.commons.bean.engine.execute.PipelineRunMsg;
import cd.casic.ci.commons.bean.engine.postprocess.Postprocess;
import cd.casic.ci.commons.bean.process.definition.Pipeline;
-import cd.casic.ci.commons.bean.process.definition.Variable;
+import cd.casic.module.process.support.variable.model.Variable;
import cd.casic.ci.commons.bean.process.instance.PipelineInstance;
import cd.casic.ci.commons.bean.process.instance.PipelineInstanceQuery;
import cd.casic.ci.commons.bean.process.setting.Scm;
@@ -19,7 +19,7 @@ import cd.casic.module.process.support.postprocess.service.PostprocessExecServic
import cd.casic.module.process.engine.task.TasksExecService;
import cd.casic.module.process.pipeline.instance.service.PipelineInstanceServiceImpl;
import cd.casic.module.process.process.definition.PipelineService;
-import cd.casic.module.process.process.definition.VariableService;
+import cd.casic.module.process.support.variable.service.VariableService;
import cd.casic.module.process.process.instance.PipelineInstanceService;
import cd.casic.module.process.process.setting.ResourcesService;
import cd.casic.module.process.process.setting.ScmService;
@@ -27,7 +27,7 @@ import cd.casic.module.process.process.stage.StageExecService;
import cd.casic.module.process.process.stage.StageService;
import cd.casic.module.process.support.agent.service.AgentService;
import cd.casic.module.process.support.disk.service.DiskService;
-import cd.casic.module.process.support.home.PipelineVersionService;
+import cd.casic.module.process.support.version.service.PipelineVersionService;
import cd.casic.module.process.support.util.PipelineUtilService;
import cd.casic.module.process.support.util.util.PipelineFinal;
import cd.casic.module.process.toolkit.join.JoinTemplate;
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/pipeline/definition/impl/PipelineServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/pipeline/definition/impl/PipelineServiceImpl.java
index bd65ebe2..5b966474 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/pipeline/definition/impl/PipelineServiceImpl.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/pipeline/definition/impl/PipelineServiceImpl.java
@@ -5,7 +5,6 @@ import cd.casic.ci.commons.bean.process.definition.*;
import cd.casic.ci.commons.bean.process.instance.PipelineInstance;
import cd.casic.ci.commons.bean.utils.PipelineFileUtil;
import cd.casic.ci.commons.bean.utils.PipelineUtil;
-import cd.casic.framework.commons.exception.ErrorCode;
import cd.casic.framework.commons.exception.ServiceException;
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
import cd.casic.framework.commons.pojo.PageResult;
@@ -19,7 +18,7 @@ import cd.casic.module.process.pipeline.definition.PipelineOpenService;
import cd.casic.module.process.pipeline.definition.PipelineService;
import cd.casic.module.process.pipeline.definition.entity.PipelineEntity;
-import cd.casic.module.process.process.definition.VariableService;
+import cd.casic.module.process.support.variable.service.VariableService;
import cd.casic.module.process.process.definition.dao.PipelineDao;
import cd.casic.module.process.process.instance.PipelineInstanceService;
import cd.casic.module.process.process.stage.StageService;
@@ -31,14 +30,10 @@ import cd.casic.module.process.support.util.PipelineUtilService;
import cd.casic.module.process.support.util.util.PipelineFinal;
import cd.casic.module.process.toolkit.beans.BeanMapper;
import cd.casic.module.process.toolkit.join.JoinTemplate;
-import cd.casic.module.process.user.user.User;
import jakarta.annotation.Resource;
-import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import javax.security.auth.login.LoginContext;
import java.io.File;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/pipeline/execute/service/impl/PipelineExecServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/pipeline/execute/service/impl/PipelineExecServiceImpl.java
index dc087205..547d457d 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/pipeline/execute/service/impl/PipelineExecServiceImpl.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/pipeline/execute/service/impl/PipelineExecServiceImpl.java
@@ -6,7 +6,7 @@ import cd.casic.ci.commons.bean.engine.execute.PipelineRunMsg;
import cd.casic.ci.commons.bean.engine.postprocess.Postprocess;
import cd.casic.ci.commons.bean.exception.SystemException;
import cd.casic.ci.commons.bean.process.definition.Pipeline;
-import cd.casic.ci.commons.bean.process.definition.Variable;
+import cd.casic.module.process.support.variable.model.Variable;
import cd.casic.ci.commons.bean.process.instance.PipelineInstance;
import cd.casic.ci.commons.bean.process.instance.PipelineInstanceQuery;
import cd.casic.ci.commons.bean.process.setting.Scm;
@@ -19,7 +19,7 @@ import cd.casic.module.process.engine.task.TasksExecService;
import cd.casic.module.process.pipeline.definition.PipelineService;
import cd.casic.module.process.pipeline.execute.service.PipelineExecService;
import cd.casic.module.process.pipeline.instance.service.PipelineInstanceServiceImpl;
-import cd.casic.module.process.process.definition.VariableService;
+import cd.casic.module.process.support.variable.service.VariableService;
import cd.casic.module.process.process.instance.PipelineInstanceService;
import cd.casic.module.process.setting.service.ResourcesService;
import cd.casic.module.process.setting.service.ScmService;
@@ -27,7 +27,7 @@ import cd.casic.module.process.stages.service.StageExecService;
import cd.casic.module.process.stages.service.StageService;
import cd.casic.module.process.support.agent.service.AgentService;
import cd.casic.module.process.support.disk.service.DiskService;
-import cd.casic.module.process.support.home.PipelineVersionService;
+import cd.casic.module.process.support.version.service.PipelineVersionService;
import cd.casic.module.process.support.postprocess.service.PostprocessExecService;
import cd.casic.module.process.support.util.PipelineUtilService;
import cd.casic.module.process.support.util.util.PipelineFinal;
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/process/setting/impl/CacheServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/process/setting/impl/CacheServiceImpl.java
index 8c448ff6..e1f73111 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/process/setting/impl/CacheServiceImpl.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/process/setting/impl/CacheServiceImpl.java
@@ -4,16 +4,12 @@ package cd.casic.module.process.process.setting.impl;
import cd.casic.ci.commons.bean.process.setting.Cache;
import cd.casic.module.process.process.setting.CacheService;
import cd.casic.module.process.process.setting.dao.CacheDao;
-import cd.casic.module.process.support.home.PipelineVersionService;
+import cd.casic.module.process.support.version.service.PipelineVersionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import java.util.Objects;
-
-import static cd.casic.ci.commons.bean.commons.PipelineConstants.DEFAULT_CLEAN_CACHE_DAY;
@Service
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/PipelineDataService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/PipelineDataService.java
new file mode 100644
index 00000000..09f710f5
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/PipelineDataService.java
@@ -0,0 +1,15 @@
+package cd.casic.module.process.support.util;
+
+/**
+ * @ClassName PipelineDataService
+ * @Author hopeli
+ * @Date 2025/5/2 18:27
+ * @Version 1.0
+ */
+public interface PipelineDataService {
+
+ /**
+ * 清理消息数据
+ */
+ void cleanMessageData();
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/impl/PipelineDataServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/impl/PipelineDataServiceImpl.java
new file mode 100644
index 00000000..42dabdbe
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/impl/PipelineDataServiceImpl.java
@@ -0,0 +1,55 @@
+package cd.casic.module.process.support.util.impl;
+
+import cd.casic.ci.commons.bean.process.definition.Pipeline;
+import cd.casic.module.process.message.message.MessageDmNoticeService;
+import cd.casic.module.process.message.message.model.MessageDmNotice;
+import cd.casic.module.process.message.message.model.MessageDmNoticeQuery;
+import cd.casic.module.process.message.message.model.MessageNoticePatch;
+import cd.casic.module.process.pipeline.definition.PipelineService;
+import cd.casic.module.process.support.util.PipelineDataService;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @ClassName PipelineDataServiceImpl
+ * @Author hopeli
+ * @Date 2025/5/2 18:27
+ * @Version 1.0
+ */
+@Service
+public class PipelineDataServiceImpl implements PipelineDataService {
+
+ @Resource
+ PipelineService pipelineService;
+
+ @Resource
+ MessageDmNoticeService messageDmNoticeService;
+
+
+ @Override
+ public void cleanMessageData(){
+
+ List allPipeline = pipelineService.findAllPipelineNoQuery();
+
+ for (Pipeline pipeline : allPipeline) {
+ String domainId = pipeline.getId();
+
+ MessageDmNoticeQuery messageDmNoticeQuery = new MessageDmNoticeQuery();
+ messageDmNoticeQuery.setDomainId(domainId);
+ List messageDmNoticeList =
+ messageDmNoticeService.findMessageDmNoticeList(messageDmNoticeQuery);
+
+ if (!messageDmNoticeList.isEmpty()){
+ continue;
+ }
+
+ // 克隆消息模版
+ MessageNoticePatch messageNoticePatch = new MessageNoticePatch();
+ messageNoticePatch.setDomainId(domainId);
+ messageNoticePatch.setUserList(List.of(String.valueOf(pipeline.getAdminUserRespDTO().getId())));
+ messageDmNoticeService.initMessageDmNotice(messageNoticePatch);
+ }
+ }
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/impl/PipelineUtilServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/impl/PipelineUtilServiceImpl.java
new file mode 100644
index 00000000..080babad
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/impl/PipelineUtilServiceImpl.java
@@ -0,0 +1,126 @@
+package cd.casic.module.process.support.util.impl;
+
+import cd.casic.ci.commons.bean.exception.ApplicationException;
+import cd.casic.ci.commons.bean.utils.PipelineFileUtil;
+import cd.casic.ci.commons.bean.utils.PipelineUtil;
+import cd.casic.module.process.core.context.AppHomeContext;
+import cd.casic.module.process.support.util.PipelineUtilService;
+import cd.casic.module.process.support.util.util.PipelineFinal;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @ClassName PipelineUtilServiceImpl
+ * @Author hopeli
+ * @Date 2025/5/2 18:22
+ * @Version 1.0
+ */
+@Service
+public class PipelineUtilServiceImpl implements PipelineUtilService{
+ @Value("${DATA_HOME:null}")
+ String dataHome;
+
+ @Value("${jdk.address:null}")
+ String jdkPath;
+
+ @Override
+ public String instanceAddress(int type) {
+ if (Objects.isNull(dataHome) || "null".equals(dataHome)){
+ dataHome = "/opt/tiklab/tiklab-arbess";
+ }
+
+ return switch (type) {
+ case 0 -> dataHome + PipelineFinal.MATFLOW_INSTABCE;
+ case 1 -> dataHome + PipelineFinal.MATFLOW_WORKSPACE;
+ default -> dataHome + PipelineFinal.MATFLOW_LOGS;
+ };
+ }
+
+ @Override
+ public String findPipelineDefaultAddress(String pipelineId, int type) {
+ String path = instanceAddress(type);
+ int systemType = PipelineUtil.findSystemType();
+ if (systemType == 1){
+ if (!PipelineUtil.isNoNull(pipelineId)){
+ return path + "\\";
+ }else {
+ return path + "\\" + pipelineId + "\\";
+ }
+ }else {
+ if (!PipelineUtil.isNoNull(pipelineId)){
+ return path + "/";
+ }else {
+ return path + "/" + pipelineId + "/" ;
+ }
+ }
+ }
+
+
+ @Override
+ public String findFile(String pipelineId,String fileDir, String regex) {
+ List list = new ArrayList<>();
+
+ File file3 = new File(fileDir);
+ if (file3.exists() && file3.isFile()){
+ return fileDir;
+ }
+
+ File file2 = new File(fileDir + "/" + regex);
+ if (file2.exists() && file2.isFile()){
+ return file2.getAbsolutePath();
+ }
+
+ List filePath = PipelineFileUtil.getFilePath(new File(fileDir),new ArrayList<>());
+ for (String s : filePath) {
+ File file = new File(s);
+
+ //拼装正则匹配
+ boolean matches = file.getName().matches("^(.*" + regex + ".*)");
+
+ //正则匹配
+ boolean matches1 = file.getName().matches(regex);
+
+ File file1 = new File(s + "/" + regex);
+ if (file1.exists()){
+ return file1.getAbsolutePath();
+ }
+
+ if (matches || matches1){
+ list.add(s);
+ }
+ }
+
+ if (list.size() > 1){
+ StringBuilder s = new StringBuilder("匹配到多个文件,请重新输入文件信息。");
+ for (String s1 : list) {
+ s.append("\n").append(s1);
+ }
+ throw new ApplicationException(s.toString());
+ }
+
+ if (list.size()== 1){
+ return list.get(0);
+ }
+ throw new ApplicationException("没有匹配到文件。");
+ }
+
+
+ @Override
+ public String findJavaPath(){
+
+ if (!"null".equals(jdkPath)){
+ return jdkPath;
+ }
+
+ String appHome = AppHomeContext.getAppHome();
+ String applyRootDir = new File(appHome).getParentFile().getParent();
+
+ return appHome+"/embbed/jdk-16.0.2";
+
+ }
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/util/PipelineFinal.java b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/util/PipelineFinal.java
index 9fa04dcf..4efa1d53 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/util/PipelineFinal.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/util/PipelineFinal.java
@@ -19,6 +19,8 @@ public class PipelineFinal {
public static final String MATFLOW_LOGS = "/artifact";
+ public static final String MATFLOW_INSTABCE = "/instance";
+
/**
* 流水线运行状态
@@ -208,6 +210,13 @@ public class PipelineFinal {
public static final Integer DEFAULT_CLEAN_CACHE_DAY = 7;
+ // 上传类型
+ public static final String TASK_TYPE_UPLOAD = "upload";
+ public static final String TASK_UPLOAD_HADESS = "upload_hadess";
+ public static final String TASK_UPLOAD_SSH = "upload_ssh";
+ public static final String TASK_UPLOAD_NEXUS = "upload_nexus";
+ public static final String TASK_UPLOAD_DOCKER = "upload_docker";
+
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/util/PipelineRequestUtil.java b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/util/PipelineRequestUtil.java
new file mode 100644
index 00000000..0e12c273
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/module/process/support/util/util/PipelineRequestUtil.java
@@ -0,0 +1,222 @@
+package cd.casic.module.process.support.util.util;
+
+/**
+ * @ClassName TaskArtifactServiceImpl
+ * @Author hopeli
+ * @Date 2025/5/5 06:04
+ * @Version 1.0
+ */
+
+import cd.casic.ci.commons.bean.exception.ApplicationException;
+import cd.casic.ci.commons.bean.exception.SystemException;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+import org.springframework.web.client.ResourceAccessException;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+@Component
+public class PipelineRequestUtil {
+
+ @Autowired
+ RestTemplate restTemplate;
+
+ @Autowired
+ PipelineRequestUtil requestUtil;
+
+
+ /**
+ * 发起Post请求
+ * @param headers 请求头
+ * @param requestUrl 请求地址
+ * @param param 请求参数
+ * @param tClass 返回类型
+ * @return 请求结果
+ * @throws ApplicationException 请求失败
+ */
+ public T requestPost(HttpHeaders headers, String requestUrl, Object param, Class tClass){
+
+ // 创建带有头部和请求体的 HttpEntity
+ HttpEntity