冲掉之前的代码,太难了
This commit is contained in:
parent
19858ca927
commit
3f1f4a3268
46
.idea/compiler.xml
generated
46
.idea/compiler.xml
generated
@ -18,43 +18,29 @@
|
||||
<entry name="$MAVEN_REPOSITORY$/org/mapstruct/mapstruct-processor/1.6.2/mapstruct-processor-1.6.2.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/org/mapstruct/mapstruct/1.6.2/mapstruct-1.6.2.jar" />
|
||||
</processorPath>
|
||||
<module name="module-infra-api" />
|
||||
<module name="spring-boot-starter-protection" />
|
||||
<module name="module-ci-environment" />
|
||||
<module name="spring-boot-starter-monitor" />
|
||||
<module name="module-system-biz" />
|
||||
<module name="module-ci-process-biz" />
|
||||
<module name="module-ci-dispatch-api" />
|
||||
<module name="module-system-api" />
|
||||
<module name="spring-boot-starter-mq" />
|
||||
<module name="module-ci-quality" />
|
||||
<module name="spring-boot-starter-mongo" />
|
||||
<module name="module-ci-market" />
|
||||
<module name="commons" />
|
||||
<module name="module-ci-common-pipeline" />
|
||||
<module name="spring-boot-starter-plugin" />
|
||||
<module name="module-ci-store-api" />
|
||||
<module name="ops-server" />
|
||||
<module name="spring-boot-starter-biz-data-permission" />
|
||||
<module name="spring-boot-starter-mybatis" />
|
||||
<module name="module-ci-process-api" />
|
||||
<module name="module-ci-project" />
|
||||
<module name="module-infra-api" />
|
||||
<module name="module-ci-worker" />
|
||||
<module name="spring-boot-starter-test" />
|
||||
<module name="spring-boot-starter-websocket" />
|
||||
<module name="system-plugin-example-web" />
|
||||
<module name="module-system-api" />
|
||||
<module name="spring-boot-starter-biz-ip" />
|
||||
<module name="module-infra-biz" />
|
||||
<module name="module-ci-log" />
|
||||
<module name="spring-boot-starter-mq" />
|
||||
<module name="spring-boot-starter-job" />
|
||||
<module name="module-ci-event" />
|
||||
<module name="module-ci-repository" />
|
||||
<module name="spring-boot-starter-mongo" />
|
||||
<module name="commons" />
|
||||
<module name="spring-boot-starter-web" />
|
||||
<module name="spring-boot-starter-plugin" />
|
||||
<module name="spring-boot-starter-excel" />
|
||||
<module name="ops-server" />
|
||||
<module name="spring-boot-starter-biz-tenant" />
|
||||
<module name="module-ci-ticket" />
|
||||
<module name="spring-boot-starter-biz-data-permission" />
|
||||
<module name="spring-boot-starter-redis" />
|
||||
<module name="spring-boot-starter-security" />
|
||||
<module name="spring-boot-starter-mybatis" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
<bytecodeTargetLevel>
|
||||
@ -64,7 +50,21 @@
|
||||
<module name="common-pipeline" target="17" />
|
||||
<module name="common-public" target="17" />
|
||||
<module name="module-ci-common" target="17" />
|
||||
<module name="module-ci-common-pipeline" target="17" />
|
||||
<module name="module-ci-commons" target="17" />
|
||||
<module name="module-ci-dispatch-api" target="17" />
|
||||
<module name="module-ci-environment" target="17" />
|
||||
<module name="module-ci-event" target="17" />
|
||||
<module name="module-ci-log" target="17" />
|
||||
<module name="module-ci-market" target="17" />
|
||||
<module name="module-ci-process-api" target="17" />
|
||||
<module name="module-ci-process-biz" target="17" />
|
||||
<module name="module-ci-project" target="17" />
|
||||
<module name="module-ci-quality" target="17" />
|
||||
<module name="module-ci-repository" target="17" />
|
||||
<module name="module-ci-store-api" target="17" />
|
||||
<module name="module-ci-ticket" target="17" />
|
||||
<module name="module-ci-worker" target="17" />
|
||||
<module name="pipeline-ci-api" target="17" />
|
||||
<module name="pipeline-ci-common" target="17" />
|
||||
<module name="pipeline-ci-process-api" target="17" />
|
||||
|
14
.idea/misc.xml
generated
14
.idea/misc.xml
generated
@ -56,12 +56,26 @@
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$/modules/ci-commons/pipeline-ci-api/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/ci-commons/pipline-ci-common/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-common-pipeline/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-common/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-commons/ci-common-pipeline/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-commons/ci-common-public/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-commons/ci-common/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-commons/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-dispatch-api/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-environment/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-event/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-log/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-market/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-process-api/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-process-biz/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-process/pipeline-ci-process-api/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-project/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-quality/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-repository/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-store-api/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-ticket/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/modules/module-ci-worker/pom.xml" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
|
8
.idea/modules.xml
generated
8
.idea/modules.xml
generated
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/module-ci-process-biz/module-ci-process-biz.iml" filepath="$PROJECT_DIR$/modules/module-ci-process-biz/module-ci-process-biz.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
590
dependencies/.flattened-pom.xml
vendored
Normal file
590
dependencies/.flattened-pom.xml
vendored
Normal file
@ -0,0 +1,590 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>dependencies</artifactId>
|
||||
<version>2.0.0-jdk17</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>dependencies</name>
|
||||
<description>管理整个项目的依赖版本</description>
|
||||
<properties>
|
||||
<tika-core.version>2.9.2</tika-core.version>
|
||||
<podam.version>8.0.0.RELEASE</podam.version>
|
||||
<flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version>
|
||||
<opengauss.jdbc.version>5.1.0</opengauss.jdbc.version>
|
||||
<mapstruct.version>1.6.2</mapstruct.version>
|
||||
<fastjson.version>1.2.83</fastjson.version>
|
||||
<sqlite.version>3.47.1.0</sqlite.version>
|
||||
<mybatis.version>3.5.16</mybatis.version>
|
||||
<opentracing.version>0.33.0</opentracing.version>
|
||||
<caffeine.version>2.9.3</caffeine.version>
|
||||
<json.version>20250107</json.version>
|
||||
<kingbase.jdbc.version>8.6.0</kingbase.jdbc.version>
|
||||
<commons-compress.version>1.27.1</commons-compress.version>
|
||||
<rocketmq-spring.version>2.3.1</rocketmq-spring.version>
|
||||
<ip2region.version>2.7.0</ip2region.version>
|
||||
<dynamic-datasource.version>4.3.1</dynamic-datasource.version>
|
||||
<redisson.version>3.36.0</redisson.version>
|
||||
<pf4j-spring.version>0.9.0</pf4j-spring.version>
|
||||
<transmittable-thread-local.version>2.14.5</transmittable-thread-local.version>
|
||||
<dd-plist.version>1.28</dd-plist.version>
|
||||
<spring.boot.version>3.3.4</spring.boot.version>
|
||||
<bcprov-jdk18on.version>1.80</bcprov-jdk18on.version>
|
||||
<springdoc.version>2.3.0</springdoc.version>
|
||||
<version-number.version>1.12</version-number.version>
|
||||
<lock4j.version>2.2.7</lock4j.version>
|
||||
<commons-io.version>2.17.0</commons-io.version>
|
||||
<logback-core.version>1.2.11</logback-core.version>
|
||||
<apk-parser.version>2.6.10</apk-parser.version>
|
||||
<hutool-6.version>6.0.0-M16</hutool-6.version>
|
||||
<resilience4j-circuitbreaker.version>2.3.0</resilience4j-circuitbreaker.version>
|
||||
<jsoup.version>1.18.1</jsoup.version>
|
||||
<mybatis-plus.version>3.5.8</mybatis-plus.version>
|
||||
<knife4j.version>4.5.0</knife4j.version>
|
||||
<lombok.version>1.18.34</lombok.version>
|
||||
<skywalking.version>9.0.0</skywalking.version>
|
||||
<mockito-inline.version>5.2.0</mockito-inline.version>
|
||||
<logback-classic.version>1.2.11</logback-classic.version>
|
||||
<commons-exec.version>1.4.0</commons-exec.version>
|
||||
<velocity.version>2.4</velocity.version>
|
||||
<reflections.version>0.10.2</reflections.version>
|
||||
<bizlog-sdk.version>3.0.6</bizlog-sdk.version>
|
||||
<anwena.version>2.0.8.3</anwena.version>
|
||||
<pf4j.version>3.12.1</pf4j.version>
|
||||
<logback.version>1.2.13</logback.version>
|
||||
<mybatis-plus-join.version>1.4.13</mybatis-plus-join.version>
|
||||
<hutool-5.version>5.8.32</hutool-5.version>
|
||||
<revision>2.0.0-jdk17</revision>
|
||||
<jsch.version>0.1.55</jsch.version>
|
||||
<winp.version>1.28</winp.version>
|
||||
<postgresql.version>42.7.4</postgresql.version>
|
||||
<spring-boot-admin.version>3.3.3</spring-boot-admin.version>
|
||||
<oracle.version>23.5.0.24.07</oracle.version>
|
||||
<netty.version>4.1.113.Final</netty.version>
|
||||
<oshi-version>6.6.5</oshi-version>
|
||||
<jedis-mock.version>1.1.4</jedis-mock.version>
|
||||
<guava.version>33.3.1-jre</guava.version>
|
||||
<aws-java-sdk-s3.version>1.12.777</aws-java-sdk-s3.version>
|
||||
<commons-net.version>3.11.1</commons-net.version>
|
||||
<jimureport.version>1.7.8</jimureport.version>
|
||||
<easyexcel.verion>4.0.3</easyexcel.verion>
|
||||
<json.schema.validator.veresion>1.5.6</json.schema.validator.veresion>
|
||||
<druid.version>1.2.23</druid.version>
|
||||
<easy-trans.version>3.0.6</easy-trans.version>
|
||||
<dm8.jdbc.version>8.1.3.140</dm8.jdbc.version>
|
||||
</properties>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-bom</artifactId>
|
||||
<version>${netty.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>${spring.boot.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>commons</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-biz-data-permission</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-biz-ip</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-biz-tenant</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-excel</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-job</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-mongo</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-monitor</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-mq</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.rocketmq</groupId>
|
||||
<artifactId>rocketmq-spring-boot-starter</artifactId>
|
||||
<version>${rocketmq-spring.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-mybatis</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-protection</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-redis</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-security</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-websocket</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-infra-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-infra-biz</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-system-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-system-biz</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.github.mouzt</groupId>
|
||||
<artifactId>bizlog-sdk</artifactId>
|
||||
<version>${bizlog-sdk.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||
<version>${spring.boot.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
|
||||
<version>${knife4j.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springdoc</groupId>
|
||||
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
|
||||
<version>${springdoc.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-3-starter</artifactId>
|
||||
<version>${druid.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis</artifactId>
|
||||
<version>${mybatis.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
||||
<version>${mybatis-plus.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-generator</artifactId>
|
||||
<version>${mybatis-plus.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
|
||||
<version>${dynamic-datasource.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.yulichang</groupId>
|
||||
<artifactId>mybatis-plus-join-boot-starter</artifactId>
|
||||
<version>${mybatis-plus-join.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fhs-opensource</groupId>
|
||||
<artifactId>easy-trans-spring-boot-starter</artifactId>
|
||||
<version>${easy-trans.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-commons</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fhs-opensource</groupId>
|
||||
<artifactId>easy-trans-mybatis-plus-extend</artifactId>
|
||||
<version>${easy-trans.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fhs-opensource</groupId>
|
||||
<artifactId>easy-trans-anno</artifactId>
|
||||
<version>${easy-trans.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.redisson</groupId>
|
||||
<artifactId>redisson-spring-boot-starter</artifactId>
|
||||
<version>${redisson.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>lock4j-redisson-spring-boot-starter</artifactId>
|
||||
<version>${lock4j.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.redisson</groupId>
|
||||
<artifactId>redisson-spring-boot-starter</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.skywalking</groupId>
|
||||
<artifactId>apm-toolkit-trace</artifactId>
|
||||
<version>${skywalking.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.skywalking</groupId>
|
||||
<artifactId>apm-toolkit-logback-1.x</artifactId>
|
||||
<version>${skywalking.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.skywalking</groupId>
|
||||
<artifactId>apm-toolkit-opentracing</artifactId>
|
||||
<version>${skywalking.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.opentracing</groupId>
|
||||
<artifactId>opentracing-api</artifactId>
|
||||
<version>${opentracing.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.opentracing</groupId>
|
||||
<artifactId>opentracing-util</artifactId>
|
||||
<version>${opentracing.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.opentracing</groupId>
|
||||
<artifactId>opentracing-noop</artifactId>
|
||||
<version>${opentracing.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>de.codecentric</groupId>
|
||||
<artifactId>spring-boot-admin-starter-server</artifactId>
|
||||
<version>${spring-boot-admin.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>de.codecentric</groupId>
|
||||
<artifactId>spring-boot-admin-server-cloud</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>de.codecentric</groupId>
|
||||
<artifactId>spring-boot-admin-starter-client</artifactId>
|
||||
<version>${spring-boot-admin.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-inline</artifactId>
|
||||
<version>${mockito-inline.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<version>${spring.boot.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.ow2.asm</groupId>
|
||||
<artifactId>asm</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.fppt</groupId>
|
||||
<artifactId>jedis-mock</artifactId>
|
||||
<version>${jedis-mock.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>uk.co.jemos.podam</groupId>
|
||||
<artifactId>podam</artifactId>
|
||||
<version>${podam.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>${lombok.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct</artifactId>
|
||||
<version>${mapstruct.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct-jdk8</artifactId>
|
||||
<version>${mapstruct.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct-processor</artifactId>
|
||||
<version>${mapstruct.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>${hutool-5.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.dromara.hutool</groupId>
|
||||
<artifactId>hutool-extra</artifactId>
|
||||
<version>${hutool-6.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>easyexcel</artifactId>
|
||||
<version>${easyexcel.verion}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>${commons-io.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-compress</artifactId>
|
||||
<version>${commons-compress.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tika</groupId>
|
||||
<artifactId>tika-core</artifactId>
|
||||
<version>${tika-core.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.velocity</groupId>
|
||||
<artifactId>velocity-engine-core</artifactId>
|
||||
<version>${velocity.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>${fastjson.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.networknt</groupId>
|
||||
<artifactId>json-schema-validator</artifactId>
|
||||
<version>${json.schema.validator.veresion}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.json</groupId>
|
||||
<artifactId>json</artifactId>
|
||||
<version>${json.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>${guava.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>transmittable-thread-local</artifactId>
|
||||
<version>${transmittable-thread-local.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-net</groupId>
|
||||
<artifactId>commons-net</artifactId>
|
||||
<version>${commons-net.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.jcraft</groupId>
|
||||
<artifactId>jsch</artifactId>
|
||||
<version>${jsch.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.amazonaws</groupId>
|
||||
<artifactId>aws-java-sdk-s3</artifactId>
|
||||
<version>${aws-java-sdk-s3.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.lionsoul</groupId>
|
||||
<artifactId>ip2region</artifactId>
|
||||
<version>${ip2region.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jsoup</groupId>
|
||||
<artifactId>jsoup</artifactId>
|
||||
<version>${jsoup.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.oshi</groupId>
|
||||
<artifactId>oshi-core</artifactId>
|
||||
<version>${oshi-version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.pf4j</groupId>
|
||||
<artifactId>pf4j</artifactId>
|
||||
<version>${pf4j.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.pf4j</groupId>
|
||||
<artifactId>pf4j-spring</artifactId>
|
||||
<version>${pf4j-spring.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.dameng</groupId>
|
||||
<artifactId>DmJdbcDriver18</artifactId>
|
||||
<version>${dm8.jdbc.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc8</artifactId>
|
||||
<version>${oracle.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<version>${postgresql.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.opengauss</groupId>
|
||||
<artifactId>opengauss-jdbc</artifactId>
|
||||
<version>${opengauss.jdbc.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.com.kingbase</groupId>
|
||||
<artifactId>kingbase8</artifactId>
|
||||
<version>${kingbase.jdbc.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xerial</groupId>
|
||||
<artifactId>sqlite-jdbc</artifactId>
|
||||
<version>${sqlite.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.gitee.anwena</groupId>
|
||||
<artifactId>mongo-plus-boot-starter</artifactId>
|
||||
<version>${anwena.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcprov-jdk18on</artifactId>
|
||||
<version>${bcprov-jdk18on.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jvnet.winp</groupId>
|
||||
<artifactId>winp</artifactId>
|
||||
<version>${winp.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.reflections</groupId>
|
||||
<artifactId>reflections</artifactId>
|
||||
<version>${reflections.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-exec</artifactId>
|
||||
<version>${commons-exec.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.googlecode.plist</groupId>
|
||||
<artifactId>dd-plist</artifactId>
|
||||
<version>${dd-plist.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.dongliu</groupId>
|
||||
<artifactId>apk-parser</artifactId>
|
||||
<version>${apk-parser.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-core</artifactId>
|
||||
<version>${logback-core.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<version>${logback-classic.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.ben-manes.caffeine</groupId>
|
||||
<artifactId>caffeine</artifactId>
|
||||
<version>${caffeine.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.github.resilience4j</groupId>
|
||||
<artifactId>resilience4j-circuitbreaker</artifactId>
|
||||
<version>${resilience4j-circuitbreaker.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
</project>
|
84
dependencies/pom.xml
vendored
84
dependencies/pom.xml
vendored
@ -220,90 +220,6 @@
|
||||
</dependency>
|
||||
<!--ci-pipeline-dependency-->
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-common-pipeline</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-process-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-environment</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-event</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-log</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-market</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-process-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-project</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-quality</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-ticket</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-repository</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-worker</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-dispatch-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>module-ci-store-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<!---->
|
||||
<dependency>
|
||||
<groupId>io.github.mouzt</groupId>
|
||||
|
@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>modules</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>module-ci-common-pipeline</artifactId>
|
||||
|
||||
<name>${project.artifactId}</name>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>commons</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-mybatis</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.networknt</groupId>
|
||||
<artifactId>json-schema-validator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.json</groupId>
|
||||
<artifactId>json</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cd.casic.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -1,32 +0,0 @@
|
||||
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;
|
||||
import org.springframework.core.Ordered;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:CommonPipelineAutoConfiguration
|
||||
* @Date:2025/03/25 17:30
|
||||
* @Filename:CommonPipelineAutoConfiguration
|
||||
* @description:Todo
|
||||
*/
|
||||
@Configuration
|
||||
@AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE)
|
||||
public class CommonPipelineAutoConfiguration {
|
||||
|
||||
@Autowired(required = false)
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
@PostConstruct
|
||||
public void registerSubtypesObjectMapper() {
|
||||
ElementSubTypeRegisterLoader.registerElement(objectMapper);
|
||||
DispatchSubTypeRegisterLoader.registerType();
|
||||
DispatchSubInfoRegisterLoader.registerInfo();
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
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
|
||||
* @Project:ops-pro
|
||||
* @name:DispatchSubInfoFetcher
|
||||
* @Date:2025/03/25 17:34
|
||||
* @Filename:DispatchSubInfoFetcher
|
||||
* @description:Todo
|
||||
*/
|
||||
public interface DispatchSubInfoFetcher {
|
||||
|
||||
/**
|
||||
* 返回扩展的子类
|
||||
*/
|
||||
Map<String, Class<? extends DispatchInfo>> jsonSubInfo();
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
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 java.util.Map;
|
||||
import java.util.ServiceLoader;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:DispatchSubInfoRegisterLoader
|
||||
* @Date:2025/03/25 17:34
|
||||
* @Filename:DispatchSubInfoRegisterLoader
|
||||
* @description:Todo
|
||||
*/
|
||||
@Slf4j
|
||||
public class DispatchSubInfoRegisterLoader {
|
||||
|
||||
public static void registerInfo() {
|
||||
Class<DispatchSubInfoFetcher> clazz = DispatchSubInfoFetcher.class;
|
||||
ServiceLoader<DispatchSubInfoFetcher> fetcheries = ServiceLoader.load(clazz);
|
||||
|
||||
if (!fetcheries.iterator().hasNext()) {
|
||||
fetcheries = ServiceLoader.load(clazz, ServiceLoader.class.getClassLoader());
|
||||
}
|
||||
SimpleModule infoSubModule = new SimpleModule();
|
||||
for (DispatchSubInfoFetcher fetcher : fetcheries) {
|
||||
log.info("[DISPATCH_FETCHER]| {}", fetcher.getClass());
|
||||
Map<String, Class<? extends DispatchInfo>> jsonSubTypes = fetcher.jsonSubInfo();
|
||||
for (Map.Entry<String, Class<? extends DispatchInfo>> entry : jsonSubTypes.entrySet()) {
|
||||
infoSubModule.registerSubtypes(new NamedType(entry.getValue(), entry.getKey()));
|
||||
log.info("[REGISTER_DISPATCH]|{} for {}", entry.getValue(), entry.getKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
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
|
||||
* @Project:ops-pro
|
||||
* @name:DispatchSubTypeFetcher
|
||||
* @Date:2025/03/25 17:36
|
||||
* @Filename:DispatchSubTypeFetcher
|
||||
* @description:Todo
|
||||
*/
|
||||
public interface DispatchSubTypeFetcher {
|
||||
|
||||
/**
|
||||
* 返回扩展的子类
|
||||
*/
|
||||
Map<String, Class<? extends DispatchType>> jsonSubTypes();
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
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 java.util.Map;
|
||||
import java.util.ServiceLoader;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:DispatchSubTypeRegisterLoader
|
||||
* @Date:2025/03/25 17:37
|
||||
* @Filename:DispatchSubTypeRegisterLoader
|
||||
* @description:Todo
|
||||
*/
|
||||
@Slf4j
|
||||
public class DispatchSubTypeRegisterLoader {
|
||||
|
||||
public static void registerType() {
|
||||
Class<DispatchSubTypeFetcher> clazz = DispatchSubTypeFetcher.class;
|
||||
ServiceLoader<DispatchSubTypeFetcher> fetcheries = ServiceLoader.load(clazz);
|
||||
|
||||
if (!fetcheries.iterator().hasNext()) {
|
||||
fetcheries = ServiceLoader.load(clazz, ServiceLoader.class.getClassLoader());
|
||||
}
|
||||
SimpleModule typeSubModule = new SimpleModule();
|
||||
for (DispatchSubTypeFetcher fetcher : fetcheries) {
|
||||
log.info("[DISPATCH_FETCHER]| {}", fetcher.getClass());
|
||||
Map<String, Class<? extends DispatchType>> jsonSubTypes = fetcher.jsonSubTypes();
|
||||
for (Map.Entry<String, Class<? extends DispatchType>> entry : jsonSubTypes.entrySet()) {
|
||||
typeSubModule.registerSubtypes(new NamedType(entry.getValue(), entry.getKey()));
|
||||
log.info("[REGISTER_DISPATCH]|{} for {}", entry.getValue(), entry.getKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
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
|
||||
* @Project:ops-pro
|
||||
* @name:ElementSubTypeFetcher
|
||||
* @Date:2025/03/25 17:38
|
||||
* @Filename:ElementSubTypeFetcher
|
||||
* @description:Todo
|
||||
*/
|
||||
public interface ElementSubTypeFetcher {
|
||||
|
||||
/**
|
||||
* 返回扩展的子类
|
||||
*/
|
||||
Map<String, Class<? extends Element>> jsonSubTypes();
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
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 java.util.Map;
|
||||
import java.util.ServiceLoader;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:ElementSubTypeRegisterLoader
|
||||
* @Date:2025/03/25 17:38
|
||||
* @Filename:ElementSubTypeRegisterLoader
|
||||
* @description:Todo
|
||||
*/
|
||||
@Slf4j
|
||||
public class ElementSubTypeRegisterLoader {
|
||||
|
||||
public static void registerElementForJsonUtil() {
|
||||
registerElement(null);
|
||||
}
|
||||
|
||||
public static void registerElement(ObjectMapper objectMapper) {
|
||||
Class<ElementSubTypeFetcher> clazz = ElementSubTypeFetcher.class;
|
||||
ServiceLoader<ElementSubTypeFetcher> fetcheries = ServiceLoader.load(clazz);
|
||||
|
||||
if (!fetcheries.iterator().hasNext()) {
|
||||
fetcheries = ServiceLoader.load(clazz, ServiceLoader.class.getClassLoader());
|
||||
}
|
||||
SimpleModule elementSubModule = new SimpleModule();
|
||||
for (ElementSubTypeFetcher fetcher : fetcheries) {
|
||||
log.info("[ELEMENT_FETCHER]| {}", fetcher.getClass());
|
||||
Map<String, Class<? extends Element>> jsonSubTypes = fetcher.jsonSubTypes();
|
||||
for (Map.Entry<String, Class<? extends Element>> entry : jsonSubTypes.entrySet()) {
|
||||
elementSubModule.registerSubtypes(new NamedType(entry.getValue(), entry.getKey()));
|
||||
log.info("[REGISTER_MODEL_ELEMENT]|{} for {}", entry.getValue(), entry.getKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,65 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline;
|
||||
|
||||
import cd.casic.ci.common.pipeline.functions.ExpressionOutput;
|
||||
import cd.casic.ci.common.pipeline.functions.IFunctionInfo;
|
||||
import cd.casic.ci.common.pipeline.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;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:EnvReplacementParser
|
||||
* @Date:2025/03/25 17:38
|
||||
* @Filename:EnvReplacementParser
|
||||
* @description:Todo
|
||||
*/
|
||||
@Slf4j
|
||||
public class EnvReplacementParser {
|
||||
private static final Pattern expressionPattern = Pattern.compile("\\$[{]{2}([^$^{}]+)[}]{2}");
|
||||
|
||||
public static String parse(Object value, Map<String, String> contextMap, Boolean onlyExpression,
|
||||
Pair<ExecutionContext, List<NamedValueInfo>> contextPair, Iterable<IFunctionInfo> functions,
|
||||
ExpressionOutput output) {
|
||||
ExprReplacementOptions options = new ExprReplacementOptions(contextMap, contextPair, functions, output);
|
||||
return parse(value, onlyExpression, options);
|
||||
}
|
||||
|
||||
public static String parse(Object value, Map<String, String> contextMap, IPipelineDialect dialect,
|
||||
Pair<ExecutionContext, List<NamedValueInfo>> contextPair, Iterable<IFunctionInfo> functions,
|
||||
ExpressionOutput output) {
|
||||
ExprReplacementOptions options = new ExprReplacementOptions(contextMap, contextPair, functions, output);
|
||||
return parse(value, dialect.supportUseExpression(), options);
|
||||
}
|
||||
|
||||
public static String parse(Object value, Boolean onlyExpression, ExprReplacementOptions options) {
|
||||
if (value == null) return "";
|
||||
if (onlyExpression == null || !onlyExpression) {
|
||||
return JSONUtil.toJsonStr(ObjectReplaceEnvVarUtil.replaceEnvVar(value, options.getContextMap()));
|
||||
} else {
|
||||
//return JsonUtil.toJson(ExprReplacementUtil.replaceEnvVar(value, options), false);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// public static Pair<ExecutionContext, List<NamedValueInfo>> getCustomExecutionContextByMap(Map<String, String> variables,
|
||||
// List<RuntimeNamedValue> extendNamedValueMap) {
|
||||
// return ExprReplacementUtil.getCustomExecutionContextByMap(variables, extendNamedValueMap);
|
||||
// }
|
||||
|
||||
public static boolean containsExpressions(String value) {
|
||||
if (value == null) {
|
||||
return false;
|
||||
}
|
||||
return expressionPattern.matcher(value).find();
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline;
|
||||
|
||||
import cd.casic.ci.common.pipeline.functions.ExpressionOutput;
|
||||
import cd.casic.ci.common.pipeline.functions.IFunctionInfo;
|
||||
import cd.casic.ci.common.pipeline.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;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:ExprReplacementOptions
|
||||
* @Date:2025/03/25 17:39
|
||||
* @Filename:ExprReplacementOptions
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Schema(title = "表达式替换参数")
|
||||
public class ExprReplacementOptions {
|
||||
|
||||
@Schema(title = "环境变量", required = true)
|
||||
private Map<String, String> contextMap;
|
||||
|
||||
@Schema(title = "值是否能不存在", required = true)
|
||||
private boolean contextNotNull;
|
||||
|
||||
@Schema(title = "表达式上下文", required = true)
|
||||
private Pair<ExecutionContext, List<NamedValueInfo>> contextPair;
|
||||
|
||||
private Iterable<IFunctionInfo> functions;
|
||||
|
||||
private ExpressionOutput output;
|
||||
|
||||
public ExprReplacementOptions(Map<String, String> contextMap, Pair<ExecutionContext, List<NamedValueInfo>> contextPair, Iterable<IFunctionInfo> functions, ExpressionOutput output) {
|
||||
this.contextMap = contextMap;
|
||||
this.contextPair = contextPair;
|
||||
this.functions = functions;
|
||||
this.output = output;
|
||||
}
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:IModelTemplate
|
||||
* @Date:2025/03/25 17:39
|
||||
* @Filename:IModelTemplate
|
||||
* @description:Todo
|
||||
*/
|
||||
@Schema(title = "model中报错模板信息的扩展参数")
|
||||
public interface IModelTemplate {
|
||||
|
||||
@Schema(title = "模板", required = true)
|
||||
String getTemplate();
|
||||
|
||||
@Schema(title = "引用", required = true)
|
||||
String getRef();
|
||||
|
||||
@Schema(title = "变量", required = true)
|
||||
Map<String, String> getVariables();
|
||||
|
||||
void setTemplate(String template);
|
||||
|
||||
void setRef(String ref);
|
||||
|
||||
void setVariables(Map<String, String> variables);
|
||||
|
||||
/**
|
||||
* 判读是否来自于模板
|
||||
*
|
||||
* @return true 是来自于模板|false 不是来自于模板
|
||||
*/
|
||||
default boolean fromTemplate() {
|
||||
String template = getTemplate();
|
||||
return template != null && !template.isEmpty();
|
||||
}
|
||||
}
|
@ -1,121 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline;
|
||||
|
||||
import cd.casic.ci.common.pipeline.container.Container;
|
||||
import cd.casic.ci.common.pipeline.container.Stage;
|
||||
import cd.casic.ci.common.pipeline.container.TriggerContainer;
|
||||
import cd.casic.ci.common.pipeline.enums.CallBackEvent;
|
||||
import cd.casic.ci.common.pipeline.pojo.event.PipelineCallbackEvent;
|
||||
import cd.casic.ci.common.pipeline.pojo.event.ProjectPipelineCallBack;
|
||||
import cd.casic.ci.common.pipeline.pojo.time.BuildRecordTimeCost;
|
||||
import cd.casic.ci.common.pipeline.pojo.transfer.Resources;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:Model
|
||||
* @Date:2025/03/25 17:39
|
||||
* @Filename:Model
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "流水线模型-创建信息")
|
||||
public class Model implements IModelTemplate {
|
||||
@Schema(title = "名称", required = true)
|
||||
private String name;
|
||||
|
||||
@Schema(title = "描述", required = false)
|
||||
private String desc;
|
||||
|
||||
@Schema(title = "阶段集合", required = true)
|
||||
private List<Stage> stages;
|
||||
|
||||
@Schema(title = "标签", required = false)
|
||||
@Deprecated
|
||||
//"以PipelineGroupService和流水线设置版本中为准"
|
||||
private List<String> labels;
|
||||
|
||||
@Schema(title = "是否从模板中实例化出来的", required = false)
|
||||
private Boolean instanceFromTemplate;
|
||||
|
||||
@Schema(title = "创建人", required = false)
|
||||
private String pipelineCreator;
|
||||
|
||||
@Schema(title = "当前模板对应的被复制的模板或安装的研发商店的模板对应的ID", required = false)
|
||||
private String srcTemplateId;
|
||||
|
||||
@Schema(title = "当前模板的ID", required = false)
|
||||
private String templateId;
|
||||
|
||||
@Schema(title = "提示", required = false)
|
||||
private String tips;
|
||||
|
||||
@Schema(title = "流水线事件回调", required = false)
|
||||
private Map<String, PipelineCallbackEvent> events;
|
||||
|
||||
@Schema(title = "静态流水线组", required = false)
|
||||
private List<String> staticViews;
|
||||
|
||||
@Schema(title = "各项耗时", required = true)
|
||||
private BuildRecordTimeCost timeCost;
|
||||
|
||||
@Schema(title = "模板地址", required = true)
|
||||
private String template;
|
||||
|
||||
@Schema(title = "模板版本", required = true)
|
||||
private String ref;
|
||||
|
||||
@Schema(title = "模板入参", required = true)
|
||||
private Map<String, String> variables;
|
||||
|
||||
@Schema(title = "模板资源", required = true)
|
||||
private Resources resources;
|
||||
|
||||
@Schema(title = "提交时流水线最新版本号", required = false)
|
||||
private int latestVersion;
|
||||
/**
|
||||
* 获取流水线回调配置
|
||||
* @param projectId 项目ID
|
||||
* @param callbackEvent 回调事件类型
|
||||
* @return 流水线回调配置列表
|
||||
*/
|
||||
public List<ProjectPipelineCallBack> getPipelineCallBack(
|
||||
String projectId,
|
||||
CallBackEvent callbackEvent
|
||||
) {
|
||||
List<ProjectPipelineCallBack> pipelineCallBack = new ArrayList<>();
|
||||
if (events != null) {
|
||||
events.forEach((eventName, event) -> {
|
||||
// TODO 可能要重写equals
|
||||
if (callbackEvent==event.getCallbackEvent()) {
|
||||
pipelineCallBack.add(
|
||||
new ProjectPipelineCallBack(
|
||||
null,
|
||||
projectId,
|
||||
event.getCallbackEvent().name(),
|
||||
event.getCallbackUrl(),
|
||||
event.getSecretToken(),
|
||||
true,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
return pipelineCallBack;
|
||||
}
|
||||
public TriggerContainer getTriggerContainer(){
|
||||
Container container = stages.get(0).getContainers().get(0);
|
||||
return JSON.parseObject(JSON.toJSONString(container),TriggerContainer.class);
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:ModelUpdate
|
||||
* @Date:2025/03/25 17:40
|
||||
* @Filename:ModelUpdate
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "流水线更新信息")
|
||||
public class ModelUpdate {
|
||||
|
||||
@Schema(title = "项目id", required = true)
|
||||
private String projectId;
|
||||
|
||||
@Schema(title = "流水线id", required = true)
|
||||
private String pipelineId;
|
||||
|
||||
@Schema(title = "名称", required = true)
|
||||
private String name;
|
||||
|
||||
@Schema(title = "更新人", required = true)
|
||||
private String updateUserId;
|
||||
|
||||
@Schema(title = "更新结果信息", required = false)
|
||||
private String updateResultMessage;
|
||||
|
||||
@Schema(title = "更新结果", required = true)
|
||||
private boolean updateResult;
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:NameAndValue
|
||||
* @Date:2025/03/25 17:40
|
||||
* @Filename:NameAndValue
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "名称和值")
|
||||
public class NameAndValue {
|
||||
|
||||
@Schema(title = "名称", required = true)
|
||||
private String key;
|
||||
|
||||
@Schema(title = "值", required = false)
|
||||
private String value;
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
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;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:PipelineVersionWithModel
|
||||
* @Date:2025/03/25 17:40
|
||||
* @Filename:PipelineVersionWithModel
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "流水线版本与模型")
|
||||
public class PipelineVersionWithModel {
|
||||
|
||||
@Schema(title = "版本号(流水线唯一递增)", required = true)
|
||||
private int version;
|
||||
|
||||
@Schema(title = "版本名称", required = true)
|
||||
private String versionName;
|
||||
|
||||
@Schema(title = "该版本的源版本号", required = true)
|
||||
private Integer baseVersion;
|
||||
|
||||
@Schema(title = "该版本的版本号名", required = true)
|
||||
private String baseVersionName;
|
||||
|
||||
@Schema(title = "流水线模型", required = true)
|
||||
private PipelineModelAndSetting modelAndSetting;
|
||||
|
||||
@Schema(title = "流水线YAML编排(含高亮)", required = false)
|
||||
private PreviewResponse yamlPreview;
|
||||
|
||||
@Schema(title = "是否处在可以调试状态", required = false)
|
||||
private Boolean canDebug;
|
||||
|
||||
@Schema(title = "版本变更说明", required = false)
|
||||
private String description;
|
||||
|
||||
@Schema(title = "是否支持YAML解析", required = true)
|
||||
private boolean yamlSupported;
|
||||
|
||||
@Schema(title = "YAML解析异常信息")
|
||||
private String yamlInvalidMsg;
|
||||
|
||||
@Schema(title = "更新操作人", required = true)
|
||||
private String updater;
|
||||
|
||||
@Schema(title = "版本修改时间", required = true)
|
||||
private Long updateTime;
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline;
|
||||
|
||||
import cd.casic.ci.common.pipeline.enums.PipelineStorageType;
|
||||
import cd.casic.ci.common.pipeline.pojo.PipelineModelAndSetting;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline
|
||||
* @Project:ops-pro
|
||||
* @name:PipelineVersionWithModelRequest
|
||||
* @Date:2025/03/25 17:41
|
||||
* @Filename:PipelineVersionWithModelRequest
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "流水线版本与模型请求")
|
||||
public class PipelineVersionWithModelRequest {
|
||||
|
||||
@Schema(title = "流水线ID(为空时导入并创建流水线)", required = false)
|
||||
private String pipelineId;
|
||||
|
||||
@Schema(title = "草稿的来源版本(前端保存时传递)", required = true)
|
||||
private int baseVersion;
|
||||
|
||||
@Schema(title = "流水线模型", required = true)
|
||||
private PipelineModelAndSetting modelAndSetting;
|
||||
|
||||
@Schema(title = "流水线YAML编排(不为空时以YAML为准)", required = false)
|
||||
private String yaml;
|
||||
|
||||
@Schema(title = "存储格式", required = false)
|
||||
private PipelineStorageType storageType = PipelineStorageType.MODEL;
|
||||
|
||||
@Schema(title = "版本变更说明", required = false)
|
||||
private String description;
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class UUIDUtil {
|
||||
private UUIDUtil() {
|
||||
// 私有构造方法防止实例化
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成32位字符随机UUID
|
||||
* @return UUID字符串
|
||||
*/
|
||||
public static String generate() {
|
||||
UUID uuid = UUID.randomUUID();
|
||||
String str = uuid.toString();
|
||||
// 通过substring拼接去掉UUID中的连字符
|
||||
return str.substring(0, 8) + str.substring(9, 13) + str.substring(14, 18) + str.substring(19, 23) + str.substring(24);
|
||||
}
|
||||
|
||||
// 可选方案:使用replace方法更简洁
|
||||
// public static String generate() {
|
||||
// return UUID.randomUUID().toString().replace("-", "");
|
||||
// }
|
||||
}
|
||||
|
@ -1,19 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.constant;
|
||||
|
||||
/**
|
||||
* @Classname BaseConstant
|
||||
* @Description 标志位
|
||||
* @Date 2025/3/18 10:00
|
||||
* @author mianbin
|
||||
*/
|
||||
public class BaseConstant {
|
||||
/**
|
||||
* 已删
|
||||
*/
|
||||
public static final Integer DELETED = 1;
|
||||
|
||||
/**
|
||||
* 未删
|
||||
*/
|
||||
public static final Integer NOT_DELETED = 0;
|
||||
}
|
@ -1,160 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.constant;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.constant
|
||||
* @Project:ops-pro
|
||||
* @name:CommonConstants
|
||||
* @Date:2025/03/26 18:02
|
||||
* @Filename:CommonConstants
|
||||
* @description:Todo
|
||||
*/
|
||||
public class CommonConstants {
|
||||
public static final String BCI_CODE_PREFIX = "BCI_CODE_";
|
||||
public static final String DEVOPS = "DevOps";
|
||||
public static final int NUM_ONE = 1;
|
||||
public static final int NUM_TWO = 2;
|
||||
public static final int NUM_THREE = 3;
|
||||
public static final int NUM_FOUR = 4;
|
||||
public static final int NUM_FIVE = 5;
|
||||
public static final int NUM_SIX = 6;
|
||||
public static final int NUM_SEVEN = 7;
|
||||
public static final int NUM_EIGHT = 8;
|
||||
public static final int NUM_NINE = 9;
|
||||
public static final String INIT_VERSION = "1.0.0"; // 初始化版本
|
||||
public static final String BEGIN = "begin"; // 开始
|
||||
public static final String EDIT = "edit"; // 提交信息
|
||||
public static final String COMMIT = "commit"; // 提交
|
||||
public static final String BUILD = "build"; // 构建
|
||||
public static final String CHECK = "check"; // 验证
|
||||
public static final String TEST = "test"; // 测试
|
||||
public static final String CODECC = "codecc"; // 代码检查
|
||||
public static final String APPROVE = "approve"; // 审核
|
||||
public static final String END = "end"; // 结束
|
||||
public static final String SUCCESS = "success"; // 成功
|
||||
public static final String UNDO = "undo"; // 未执行
|
||||
public static final String DOING = "doing"; // 执行中
|
||||
public static final String FAIL = "fail"; // 失败
|
||||
public static final String ONLINE = "online"; // 上线
|
||||
public static final String TEST_ENV_PREPARE = "testEnvPrepare"; // 准备测试环境
|
||||
public static final String ING = "ing"; // 中
|
||||
public static final String LATEST = "latest"; // 最新
|
||||
public static final String DEVELOP = "develop"; // 开发
|
||||
public static final String DEPLOY = "deploy"; // 部署
|
||||
public static final String SECURITY = "security"; // 安全
|
||||
public static final String NORMAL = "normal"; // 正常
|
||||
public static final String EXCEPTION = "exception"; // 异常
|
||||
public static final String REQUIRED = "required"; // 必选
|
||||
public static final String MIN_LENGTH = "minLength"; // 最小长度
|
||||
public static final String MAX_LENGTH = "maxLength"; // 最大长度
|
||||
public static final String DEFAULT = "default"; // 默认
|
||||
public static final String JAVA = "java"; // java
|
||||
public static final String PYTHON = "python"; // python
|
||||
public static final String NODEJS = "nodejs"; // nodejs
|
||||
public static final String GOLANG = "golang"; // golang
|
||||
public static final String JS = "js"; // js
|
||||
public static final String PATTERN_STYLE = "patternStyle"; // 正则表达式规则
|
||||
public static final String MESSAGE = "message"; // 提示信息
|
||||
public static final String STATIC = "static"; // 静态资源
|
||||
public static final String NAME = "name"; // 名称
|
||||
public static final String FAIL_NUM = "failNum"; // 失败数量
|
||||
public static final String VERSION = "version"; // 版本号
|
||||
public static final String TYPE = "type"; // 类型
|
||||
public static final String OUTPUT_DESC = "description"; // 插件输出字段描述
|
||||
public static final String COMPONENT = "component"; // 组件
|
||||
public static final String PIPELINE_URL = "pipelineUrl"; // 流水线链接
|
||||
public static final String ARTIFACT = "artifact"; // 构件
|
||||
public static final String REPORT = "report"; // 报告
|
||||
public static final String VALUE = "value"; // 值
|
||||
public static final String MULTIPLE_SELECTOR = "multiple"; // 多选
|
||||
public static final String SINGLE_SELECTOR = "single"; // 单选
|
||||
public static final String OPTIONS = "options"; // 可选项
|
||||
public static final String LABEL = "label"; // 标签
|
||||
public static final String NO_LABEL = "noLabel"; // 无标题
|
||||
public static final String URL = "url"; // url链接
|
||||
public static final String PATH = "path"; // 路径
|
||||
public static final String ARTIFACTORY_TYPE = "artifactoryType"; // 归档仓库类型
|
||||
public static final String REPORT_TYPE = "reportType"; // 报告类型
|
||||
public static final String DATA = "data"; // 数据
|
||||
public static final String STRING = "string"; // 字符串
|
||||
public static final String LATEST_MODIFIER = "latestModifier"; // 最近修改人
|
||||
public static final String IMPORTER = "importer"; // 导入人
|
||||
public static final String USAGE = "usage"; // 用途
|
||||
public static final String ALIAS = "alias"; // 别名
|
||||
public static final String LATEST_UPDATE_TIME = "latestUpdateTime"; // 最近修改时间
|
||||
public static final String LATEST_EXECUTOR = "latestExecutor"; // 最近执行人
|
||||
public static final String LATEST_EXECUTE_TIME = "latestExecuteTime"; // 最近执行时间
|
||||
public static final String LATEST_EXECUTE_PIPELINE = "latestExecutePipeline"; // 最近执行流水线
|
||||
public static final String DANG = "dang"; // 当
|
||||
public static final String AND = "and"; // 和
|
||||
public static final String OR = "or"; // 或
|
||||
public static final String TIMETOSELECT = "timetoSelect"; // 时必选
|
||||
public static final String MASTER = "master"; // 主干
|
||||
public static final String SYSTEM = "system"; // 系统
|
||||
public static final String IN_READY_TEST = "IN_READY_TEST"; // 正在测试中
|
||||
public static final String BUILD_RUNNING = "buildRunning"; // 运行中
|
||||
public static final String BUILD_QUEUE = "buildQueue"; // 构建排队中
|
||||
public static final String BUILD_REVIEWING = "buildReviewing"; // 构建待审核
|
||||
public static final String BUILD_STAGE_SUCCESS = "buildStageSuccess"; // 构建阶段性完成
|
||||
public static final String BUILD_COMPLETED = "buildCompleted"; // 构建完成
|
||||
public static final String BUILD_CANCELED = "buildCanceled"; // 构建已取消
|
||||
public static final String BUILD_FAILED = "buildFailed"; // 构建失败
|
||||
public static final String ID = "id"; // id
|
||||
public static final String STATUS = "status"; // 状态
|
||||
public static final String EXECUTE_COUNT = "executeCount";
|
||||
public static final String LOCALE_LANGUAGE = "BK_CI_LOCALE_LANGUAGE"; // locale国际化语言信息
|
||||
public static final String DEFAULT_LOCALE_LANGUAGE = "zh_CN"; // 默认语言信息
|
||||
public static final String REQUEST_CHANNEL = "BK_CI_REQUEST_CHANNEL"; // 请求渠道
|
||||
public static final String API_PERMISSION = "BK_CI_API_PERMISSION"; // 请求API权限
|
||||
public static final String REQUEST_IP = "X-Forwarded-For"; // 请求IP
|
||||
public static final String BK_CREATE = "bkCreate"; // 创建
|
||||
public static final String BK_REVISE = "bkRevise"; // 修改
|
||||
public static final String FAIL_MSG = "failMsg"; // 失败信息
|
||||
|
||||
public static final String KEY_START_TIME = "startTime";
|
||||
public static final String KEY_END_TIME = "endTime";
|
||||
public static final String KEY_CHANNEL = "channel";
|
||||
public static final String HIDDEN_SYMBOL = "******";
|
||||
public static final String KEY_DEFAULT = "default";
|
||||
public static final String KEY_INPUT = "vuex-input";
|
||||
public static final String KEY_TEXTAREA = "vuex-textarea";
|
||||
public static final String KEY_CODE_EDITOR = "atom-ace-editor";
|
||||
public static final String KEY_OS = "os";
|
||||
public static final String KEY_SUMMARY = "summary";
|
||||
public static final String KEY_DOCSLINK = "docsLink";
|
||||
public static final String KEY_DESCRIPTION = "description";
|
||||
public static final String KEY_WEIGHT = "weight";
|
||||
public static final String KEY_ALL = "all";
|
||||
public static final String API_ACCESS_TOKEN_PROPERTY = "access_token";
|
||||
public static final String TEMPLATE_ACROSS_INFO_ID = "devops_template_across_info_id";
|
||||
public static final String KEY_OS_NAME = "osName";
|
||||
public static final String KEY_OS_ARCH = "osArch";
|
||||
public static final String KEY_INVALID_OS_INFO = "invalidOsInfo";
|
||||
public static final String KEY_VALID_OS_NAME_FLAG = "validOsNameFlag";
|
||||
public static final String KEY_VALID_OS_ARCH_FLAG = "validOsArchFlag";
|
||||
public static final String KEY_SCRIPT = "script";
|
||||
public static final String KEY_COMMIT_ID = "commitId";
|
||||
public static final String KEY_BRANCH = "branch";
|
||||
public static final String KEY_REPOSITORY_HASH_ID = "repositoryHashId";
|
||||
public static final String KEY_REPOSITORY_PATH = "repositoryPath";
|
||||
public static final String KEY_VERSION = "version";
|
||||
public static final String KEY_VERSION_NAME = "versionName";
|
||||
public static final String KEY_UPDATED_TIME = "updatedTime";
|
||||
public static final String KEY_INSTANCE_ERROR_INFO = "instanceErrorInfo";
|
||||
public static final String KEY_DEFAULT_LOCALE_LANGUAGE = "defaultLocaleLanguage";
|
||||
public static final String KEY_PROJECT_ID = "projectId";
|
||||
public static final String KEY_PIPELINE_ID = "pipelineId";
|
||||
public static final String KEY_PIPELINE_NUM = "pipelineNum";
|
||||
public static final String KEY_ARCHIVE = "archive";
|
||||
public static final String KEY_BRANCH_TEST_FLAG = "branchTestFlag";
|
||||
public static final String KEY_TASK_ATOM = "taskAtom";
|
||||
public static final String KEY_ELEMENT_ENABLE = "elementEnable";
|
||||
public static final String KEY_SHA_CONTENT = "shaContent";
|
||||
public static final String KEY_FILE_SHA_CONTENT = "fileShaContent";
|
||||
|
||||
public static final String BK_BUILD_ENV_START_FAILED = "bkBuildEnvStartFailed"; // 构建环境启动失败
|
||||
public static final String BK_START_PULL_IMAGE = "bkStartPullImage"; // 开始拉取镜像,镜像名称:
|
||||
public static final String BK_PULLING_IMAGE = "bkPullingImage"; // 正在拉取镜像,第{0}层,进度:{1}
|
||||
public static final String BK_PUSH_IMAGE = "bkPushImage"; // 正在推送镜像,第{0}层,进度:{1}
|
||||
public static final String BK_HUMAN_SERVICE = "bkHumanService"; // 人工服务
|
||||
}
|
@ -1,225 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.constant;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.constant
|
||||
* @Project:ops-pro
|
||||
* @name:CommonMessageCode
|
||||
* @Date:2025/03/26 18:02
|
||||
* @Filename:CommonMessageCode
|
||||
* @description:Todo
|
||||
*/
|
||||
public class CommonMessageCode {
|
||||
public static final String MSG_CODE_ROLE_PREFIX = "MSG_CODE_ROLE_PREFIX_"; // 角色国际化前缀
|
||||
public static final String MSG_CODE_PERMISSION_PREFIX = "MSG_CODE_PERMISSION_PREFIX_"; // 操作权限国际化前缀
|
||||
public static final String SUCCESS = "0"; // 成功
|
||||
public static final int OAUTH_DENERD = 418; // 自定义状态码, 未进行oauth认证
|
||||
public static final String SYSTEM_ERROR = "2100001"; // 系统内部繁忙,请稍后再试
|
||||
public static final String PARAMETER_IS_NULL = "2100002"; // 参数{0}不能为空
|
||||
public static final String PARAMETER_IS_EXIST = "2100003"; // 参数值{0}已经存在系统,请换一个再试
|
||||
public static final String PARAMETER_IS_INVALID = "2100004"; // 参数值{0}为非法数据
|
||||
public static final String OAUTH_TOKEN_IS_INVALID = "2100005"; // 无效的token,请先oauth认证
|
||||
public static final String PERMISSION_DENIED = "2100006"; // 无权限{0}
|
||||
public static final String ERROR_SERVICE_NO_FOUND = "2100007"; // "找不到任何有效的{0}服务提供者"
|
||||
public static final String ERROR_SERVICE_INVOKE_FAILURE = "2100008"; // "服务调用失败:{0},uniqueId={1}"
|
||||
public static final String ERROR_INVALID_CONFIG = "2100009"; // "配置不可用:{0},uniqueId={1}"
|
||||
public static final String ERROR_REST_EXCEPTION_COMMON_TIP = "2100010"; // 接口访问出现异常,请联系助手或稍后再重试
|
||||
public static final String ERROR_CLIENT_REST_ERROR = "2100011"; // 用户请求不合法,参数或方法错误,请咨询助手
|
||||
public static final String ERROR_PROJECT_FEATURE_NOT_ACTIVED = "2100012"; // 项目[{0}]未开通该功能
|
||||
public static final String ERROR_INVALID_PARAM_ = "2100013"; // 无效参数: {0}
|
||||
public static final String ERROR_NEED_PARAM_ = "2100014"; // 缺少参数: {0}
|
||||
public static final String PARAMETER_VALIDATE_ERROR = "2100015"; // {0}参数校验错误: {1}
|
||||
public static final String ERROR_SERVICE_NO_AUTH = "2100016"; // 无访问服务的权限
|
||||
public static final String ERROR_QUERY_NUM_TOO_BIG = "2100017"; // 查询的数量超过系统规定的值:{0},请调整查询条件或咨询助手
|
||||
public static final String ERROR_QUERY_TIME_RANGE_TOO_LARGE = "2100018"; // 查询的时间范围跨度最大,最长时间范围跨度不能超过{0}天
|
||||
public static final String ERROR_HTTP_RESPONSE_BODY_TOO_LARGE = "2100019"; // http请求返回体太大
|
||||
public static final String PERMISSION_DENIED_FOR_APP = "2100020"; // APP的无权限{0}
|
||||
public static final String ERROR_SENSITIVE_API_NO_AUTH = "2100021"; // 无敏感API访问权限
|
||||
public static final String PARAMETER_LENGTH_TOO_LONG = "2100022"; // 参数长度不能超过{0}个字符
|
||||
public static final String PARAMETER_LENGTH_TOO_SHORT = "2100023"; // 参数长度不能小于{0}个字符
|
||||
public static final String PARAMETER_ILLEGAL_ERROR = "2100024"; // {0}参数非法错误: {1}
|
||||
public static final String PARAMETER_EXPIRED_ERROR = "2100025"; // {0}token过期错误: {1}
|
||||
public static final String PARAMETER_SECRET_ERROR = "2100026"; // {0}密钥配置错误: {1}
|
||||
public static final String PARAMETER_IS_EMPTY = "2100027"; // 参数不能为空
|
||||
public static final String ERROR_QUERY_TIME_RANGE_ERROR = "2100028"; // 查询的时间范围跨度错误
|
||||
public static final String SERVICE_NOT_EXIST = "2100029"; // 父服务不存在异常
|
||||
|
||||
public static final String ILLEGAL_GITCI_SERVICE_IMAGE_FORMAT = "2100030"; // GITCI Service镜像格式非法
|
||||
public static final String THIRD_PARTY_SERVICE_DEVCLOUD_EXCEPTION = "2100031"; // 第三方服务-DEVCLOUD 异常,请联系8006排查,异常信息 -
|
||||
public static final String CREATE_CONTAINER_INTERFACE_EXCEPTION = "2100032"; // 创建容器接口异常
|
||||
public static final String CREATE_CONTAINER_RETURNS_FAILED = "2100033"; // 创建容器接口返回失败
|
||||
public static final String CREATE_CONTAINER_TIMED_OUT = "2100034"; // 创建容器接口超时
|
||||
public static final String OPERATION_CONTAINER_INTERFACE_EXCEPTION = "2100035"; // 操作容器接口异常
|
||||
public static final String OPERATION_CONTAINER_RETURNED_FAILURE = "2100036"; // 操作容器接口返回失败
|
||||
public static final String OPERATION_CONTAINER_TIMED_OUT = "2100037"; // 操作容器接口超时
|
||||
public static final String GET_STATUS_INTERFACE_EXCEPTION = "2100038"; // 获取容器状态接口异常
|
||||
public static final String GET_STATUS_TIMED_OUT = "2100039"; // 获取容器状态接口超时
|
||||
public static final String CREATE_MIRROR_INTERFACE_EXCEPTION = "2100040"; // 创建镜像接口异常
|
||||
public static final String CREATE_MIRROR_INTERFACE_RETURNED_FAILURE = "2100041"; // 创建镜像接口返回失败
|
||||
public static final String CREATE_MIRROR_INTERFACE_EXCEPTION_NEW = "2100042"; // 创建镜像新版本接口异常
|
||||
public static final String NEW_MIRROR_INTERFACE_RETURNED_FAILURE = "2100043"; // 创建镜像新版本接口返回失败
|
||||
public static final String TASK_STATUS_INTERFACE_EXCEPTION = "2100044"; // 获取TASK状态接口异常
|
||||
public static final String TASK_STATUS_TIMED_OUT = "2100045"; // 获取TASK状态接口超时
|
||||
public static final String GET_WEBSOCKET_INTERFACE_EXCEPTION = "2100046"; // 获取websocket接口异常
|
||||
public static final String PARAMETER_CANNOT_EMPTY_ALL = "2100047"; // 参数不能全部为空
|
||||
public static final String USERS_EXCEEDS_THE_LIMIT = "2100048"; // 授权用户数越界:{0}
|
||||
public static final String FAILED_TO_QUERY_GSE_AGENT_STATUS = "2100049"; // 查询 Gse Agent 状态失败
|
||||
public static final String FAILED_TO_GET_AGENT_STATUS = "2100050"; // 获取agent状态失败
|
||||
public static final String STAGES_AND_STEPS_CANNOT_EXIST_BY_SIDE = "2100053"; // stages和steps不能并列存在!
|
||||
|
||||
public static final String USER_NOT_PERMISSIONS_OPERATE_PIPELINE = "2100054"; // 用户({0})无权限在工程({1})下{2}流水线{3}
|
||||
public static final String USER_NOT_HAVE_PROJECT_PERMISSIONS = "2100055"; // 用户 {0}无项目{1}权限
|
||||
public static final String UNABLE_GET_PIPELINE_JOB_STATUS = "2100056"; // 无法获取流水线JOB状态,构建停止
|
||||
public static final String JOB_BUILD_STOPS = "2100057"; // 流水线JOB已经不再运行,构建停止
|
||||
public static final String PIPELINE_NAME_OCCUPIED = "2100058"; // 流水线名称已被他人使用
|
||||
public static final String INTERNAL_DEPENDENCY_SERVICE_EXCEPTION = "2100059"; // 内部依赖服务异常
|
||||
public static final String PUBLIC_BUILD_RESOURCE_POOL_NOT_EXIST = "2100060"; // 公共构建资源池不存在,请检查yml配置.
|
||||
public static final String ERROR_LANGUAGE_IS_NOT_SUPPORT = "2100061"; // 该语言蓝盾目前不支持,蓝盾目前支持的语言标识为:{0}
|
||||
public static final String INIT_SERVICE_LIST_ERROR = "2100062"; // 初始化服务列表异常问题
|
||||
public static final String FILE_NOT_EXIST = "2100063"; // 文件{0}不存在
|
||||
public static final String USER_ACCESS_CHECK_FAIL = "2100064"; // Gitlab access token 不正确
|
||||
|
||||
public static final String GITLAB_TOKEN_EMPTY = "2100065"; // GitLab Token为空
|
||||
public static final String GITLAB_HOOK_URL_EMPTY = "2100066"; // GitLab hook url为空
|
||||
public static final String GITLAB_TOKEN_FAIL = "2100067"; // GitLab Token不正确
|
||||
public static final String GIT_TOKEN_FAIL = "2100068"; // Git Token不正确
|
||||
public static final String SERCRT_EMPTY = "2100069"; // GIT 私钥为空
|
||||
public static final String GIT_SERCRT_WRONG = "2100070"; // Git 私钥不对
|
||||
public static final String PWD_EMPTY = "2100071"; // 用户密码为空
|
||||
public static final String USER_NAME_EMPTY = "2100072"; // 用户名为空
|
||||
public static final String GITLAB_INVALID = "2100073"; // 无效的GITLAB仓库
|
||||
public static final String GIT_TOKEN_WRONG = "2100074"; // Git Token 不正确
|
||||
public static final String GIT_LOGIN_FAIL = "2100075"; // Git 用户名或者密码不对
|
||||
public static final String GIT_TOKEN_EMPTY = "2100076"; // Git Token为空
|
||||
public static final String GIT_HOOK_URL_EMPTY = "2100077"; // Git hook url为空
|
||||
public static final String TGIT_LOGIN_FAIL = "2100078"; // TGit 用户名或者密码不对
|
||||
public static final String TGIT_TOKEN_FAIL = "2100079"; // TGit Token 不正确
|
||||
public static final String TGIT_SECRET_WRONG = "2100080"; // TGit 私钥不对
|
||||
public static final String SVN_SECRET_OR_PATH_ERROR = "2100081"; // SVN 私钥不正确 或者 SVN 路径没有权限
|
||||
public static final String SVN_CREATE_HOOK_FAIL = "2100082"; // 添加SVN WEB hook 失败
|
||||
public static final String LOCK_FAIL = "2100083"; // lock失败
|
||||
public static final String UNLOCK_FAIL = "2100084"; // unlock失败
|
||||
public static final String GIT_REPO_PEM_FAIL = "2100085"; // 代码仓库访问未授权
|
||||
public static final String CALL_REPO_ERROR = "2100086"; // 代码仓库访问异常
|
||||
public static final String P4_USERNAME_PASSWORD_FAIL = "2100087"; // p4用户名密码错误
|
||||
public static final String PARAM_ERROR = "2100088"; // 参数错误
|
||||
public static final String AUTH_FAIL = "2100089"; // {0}认证失败
|
||||
public static final String ACCOUNT_NO_OPERATION_PERMISSIONS = "2100090"; // 账户没有{0}的权限
|
||||
public static final String REPO_NOT_EXIST_OR_NO_OPERATION_PERMISSION = "2100091"; // {0}仓库不存在或者是账户没有该项目{1}的权限
|
||||
public static final String GIT_INTERFACE_NOT_EXIST = "2100092"; // {0}平台没有{1}的接口
|
||||
public static final String GIT_CANNOT_OPERATION = "2100093"; // {0}平台{1}操作不能进行
|
||||
public static final String WEBHOOK_LOCK_UNLOCK_FAIL = "2100094"; // unlock webhooklock失败,请确认token是否已经配置
|
||||
public static final String COMMIT_CHECK_ADD_FAIL = "2100095"; // Commit Check添加失败,请确保该代码库的凭据关联的用户对代码库有Developer权限
|
||||
public static final String ADD_MR_COMMENTS_FAIL = "2100096"; // 添加MR的评论失败,请确保该代码库的凭据关联的用户对代码库有Developer权限
|
||||
public static final String WEBHOOK_ADD_FAIL = "2100097"; // Webhook添加失败,请确保该代码库的凭据关联的用户对代码库有{0}权限
|
||||
public static final String WEBHOOK_UPDATE_FAIL = "2100098"; // Webhook更新失败,请确保该代码库的凭据关联的用户对代码库有Developer权限
|
||||
public static final String ENGINEERING_REPO_UNAUTHORIZED = "2100099"; // 工程仓库访问未授权
|
||||
public static final String ENGINEERING_REPO_NOT_EXIST = "2100100"; // 工程仓库不存在
|
||||
public static final String ENGINEERING_REPO_CALL_ERROR = "2100101"; // 工程仓库访问异常
|
||||
public static final String NOT_MEMBER_AND_NOT_OPEN_SOURCE = "2100102"; // 非项目成员且项目为非开源项目
|
||||
public static final String USER_NO_PIPELINE_PERMISSION = "2100108"; // 流水线: 用户无{0}权限
|
||||
public static final String SERVICE_COULD_NOT_BE_ANALYZED = "2100109"; // 无法根据接口"{0}"分析所属的服务
|
||||
public static final String RETURNED_RESULT_COULD_NOT_BE_PARSED = "2100110"; // 内部服务返回结果无法解析 status:{0} body:{1}
|
||||
public static final String SERVICE_PROVIDER_NOT_FOUND = "2100111"; // 找不到任何有效的{0}【{1}】服务提供者
|
||||
public static final String ILLEGAL_JOB_TYPE = "2100112"; // 非法的job类型!
|
||||
public static final String ERROR_YAML_FORMAT_EXCEPTION = "2100113"; // {0} 中 {1} 格式有误,应为 {2}, error message:{3}
|
||||
public static final String ERROR_YAML_FORMAT_EXCEPTION_CHECK_STAGE_LABEL = "2100114"; // 请核对Stage标签是否正确
|
||||
public static final String ERROR_YAML_FORMAT_EXCEPTION_LENGTH_LIMIT_EXCEEDED = "2100115"; // "{0} job.id 超过长度限制64 {1}}"
|
||||
public static final String ERROR_YAML_FORMAT_EXCEPTION_NEED_PARAM = "2100116"; // {0} 中的step必须包含uses或run或checkout!
|
||||
public static final String ERROR_YAML_FORMAT_EXCEPTION_SERVICE_IMAGE_FORMAT_ILLEGAL = "2100117"; // STREAM Service镜像格式非法
|
||||
public static final String ERROR_YAML_FORMAT_EXCEPTION_STEP_ID_UNIQUENESS = "2100118"; // 请确保step.id唯一性!({0})
|
||||
public static final String BUILD_RESOURCE_NOT_EXIST = "2100119"; // {0}构建资源不存在,请检查yml配置.
|
||||
public static final String ERROR_YAML_FORMAT_EXCEPTION_ENV_QUANTITY_LIMIT_EXCEEDED = "2100120"; // {0}配置Env数量超过100限制!
|
||||
public static final String ERROR_YAML_FORMAT_EXCEPTION_ENV_VARIABLE_LENGTH_LIMIT_EXCEEDED = "2100121"; // {0}Env单变量{1}长度超过{2}字符!({3})
|
||||
public static final String ERROR_PROJECT_API_ACCESS_NO_PERMISSION = "2100122"; // 项目[{0}]没有接口[{1}]的访问权限
|
||||
public static final String ERROR_INTERFACE_RETRY_NUM_EXCEEDED = "2100123"; // 接口连续重试次数超过{0}次,请稍后再试
|
||||
public static final String ERROR_PIPELINE_API_ACCESS_NO_PERMISSION = "2100124"; // 流水线[{0}]没有接口[{1}]的访问权限
|
||||
public static final String TEMPLATE_PLUGIN_NOT_ALLOWED_USE = "2100125"; // 模板中插件【{0}】的【{1}】版本的状态是【{2}】,不允许使用
|
||||
public static final String ADD_MR_FAIL = "2100126"; // 添加MR失败
|
||||
|
||||
public static final String ELEMENT_UPDATE_WRONG_PATH = "2100127"; // 更新插件的标注位置有误
|
||||
public static final String ELEMENT_NOT_SUPPORT_TRANSFER = "2100128"; // 如下插件在 Code 方式下已不支持,请修改后再切换: \n[{0}]
|
||||
public static final String DISPATCH_NOT_SUPPORT_TRANSFER = "2100129"; // 如下构建环境在 Code 方式下不支持转换,请修改后再切换: \n[{0}]
|
||||
public static final String YAML_NOT_VALID = "2100130"; // yaml不合法 {0}
|
||||
public static final String GIT_INVALID_PRIVATE_KEY = "2100131"; // 不支持的SSH私钥格式,仅支持rsa格式私钥
|
||||
public static final String THIRD_PARTY_SERVICE_OPERATION_FAILED = "2100132"; // 第三方服务[{0}]操作失败,失败详情:{1}
|
||||
public static final String MR_ACCEPT_EVENT_NOT_SUPPORT_TRANSFER = "2100133"; // mr accept事件类型不支持code转换
|
||||
|
||||
public static final String SVN_TOKEN_FAIL = "2100135"; // SVN Token 不正确
|
||||
public static final String SVN_TOKEN_EMPTY = "2100136"; // SVN Token 为空, 请检查代码库的凭证类型
|
||||
public static final String ERROR_VARIABLE_NOT_FOUND = "2100137"; // SVN Token 为空, 请检查代码库的凭证类型
|
||||
public static final String BK_CONTAINER_TIMED_OUT = "bkContainerTimedOut"; // 创建容器超时
|
||||
public static final String BK_CREATION_FAILED_EXCEPTION_INFORMATION = "bkCreationFailedExceptionInformation"; // 创建失败,异常信息
|
||||
|
||||
public static final String BK_FILE_NAME = "bkFileName"; // 文件名
|
||||
public static final String BK_BELONG_TO_THE_PROJECT = "bkBelongToTheProject"; // 所属项目
|
||||
public static final String BK_OPERATING = "bkOperating"; // 操作
|
||||
public static final String BK_PUSH_FROM_BLUE_SHIELD_DEVOPS_PLATFORM = "bkPushFromBlueShieldDevopsPlatform"; // 来自蓝盾DevOps平台的推送
|
||||
public static final String BK_TABLE_CONTENTS = "bkTableContents"; // 表格内容
|
||||
public static final String BK_PLEASE_FEEL_TO_CONTACT_BLUE_SHIELD_ASSISTANT = "bkPleaseFeelToContactBlueShieldAssistant"; // 如有任何问题,可随时联系蓝盾助手
|
||||
public static final String BK_ETH1_NETWORK_CARD_IP_EMPTY = "bkEth1NetworkCardIpEmpty"; // eth1 网卡Ip为空,因此,获取eth0的网卡ip
|
||||
public static final String BK_LOOPBACK_ADDRESS_OR_NIC_EMPTY = "bkLoopbackAddressOrNicEmpty"; // loopback地址或网卡名称为空
|
||||
public static final String BK_FAILED_GET_NETWORK_CARD = "bkFailedGetNetworkCard"; // 获取网卡失败
|
||||
public static final String BK_MANUAL_TRIGGER = "bkManualTrigger"; // 手动触发
|
||||
public static final String BK_BUILD_TRIGGER = "bkBuildTrigger"; // 构建触发
|
||||
public static final String BK_VIEW_DETAILS = "bkSeeDetails"; // 查看详情
|
||||
public static final String BK_PROJECT_ID = "bkProjectId"; // # 项目ID:
|
||||
public static final String BK_PIPELINE_NAME = "bkPipelineName"; // # 流水线名称:
|
||||
public static final String BK_CREATE_SERVICE = "bkCreateService"; // 创建{0}服务
|
||||
public static final String BK_SESSION_ID = "bkSessionId"; // 会话ID
|
||||
public static final String BK_GROUP_ID = "bkGroupId"; // 群ID
|
||||
public static final String BK_THIS_GROUP_ID = "bkThisGroupId"; // 本群ID={0}。PS:群ID可用于蓝盾平台上任意企业微信群通知。
|
||||
public static final String BK_MISSING_RESOURCE_DEPENDENCY = "bkMissingResourceDependency"; // 依赖的资源不存在
|
||||
|
||||
public static final String BK_REQUEST_TIMED_OUT = "bkRequestTimedOut"; // 请求超时
|
||||
public static final String BK_QUERY_PARAM_REQUEST_ERROR = "bkQueryParamRequestError"; // 查询参数请求错误
|
||||
public static final String BK_JSON_BAD_PARAMETERS = "bkJsonBadParameters"; // JSON参数错误/Bad Parameters in json
|
||||
public static final String BK_REQUEST_BODY_CONTENT_PARAMETER_INCORRECT = "bkRequestBodyContentParameterIncorrect"; // 请求体内容参数错误。温馨提示:请确认{0}是否符合要求
|
||||
public static final String BK_REQUESTED_RESOURCE_DOES_NOT_EXIST = "bkRequestedResourceDoesNotExist"; // 请求的资源不存在
|
||||
public static final String BK_NOT_OAUTH_CERTIFICATION = "bkNotOauthCertification"; // 你没有Oauth认证
|
||||
public static final String BK_QUERY_PARAM_REQUEST_EMPTY = "bkQueryParamRequestEmpty"; // 请求的参数内容为空
|
||||
public static final String BK_QUERY_PARAM_TYPE_ERROR = "bkQueryParamTypeError"; // 查询参数类型错误
|
||||
public static final String BK_NOT_HAVE_PERMISSION_PERFORM_THIS_OPERATION = "bkNotHavePermissionPerformThisOperation"; // 你没有权限进行该操作
|
||||
public static final String BK_FAILED_ACCESS_BACKGROUND_DATA = "bkFailedAccessBackgroundData"; // 访问后台数据失败,已通知产品、开发,请稍后重试
|
||||
public static final String BK_RESOURCES_THAT_NOT_AUTHORIZED_ACCESS = "bkResourcesThatNotAuthorizedAccess"; // 未授权访问的资源
|
||||
public static final String BK_CODE_BASE_TRIGGERING = "bkCodeBaseTriggering"; // 代码库触发
|
||||
public static final String BK_FAILED_START_BUILD_MACHINE = "bkFailedStartBuildMachine"; // 启动构建机失败
|
||||
|
||||
public static final String CREATE_BRANCH = "bkCreateBranch"; // 创建分支
|
||||
public static final String DELETE_BRANCH = "bkDeleteBranch"; // 删除分支
|
||||
|
||||
public static final String GET_PROJECT_INFO = "bkGetProjectInfo"; // 获取项目详情
|
||||
public static final String GET_COMMIT_REVIEW_INFO = "bkGetCommitReviewInfo"; // 获取Commit Review详情
|
||||
public static final String GET_SESSION_INFO = "bkGetSessionInfo"; // 获取会话详情
|
||||
|
||||
public static final String OPERATION_BRANCH = "bkOperationBranch"; // 拉分支
|
||||
public static final String OPERATION_TAG = "bkOperationTag"; // 拉标签
|
||||
public static final String OPERATION_ADD_WEBHOOK = "bkOperationAddWebhook"; // 添加WEBHOOK
|
||||
public static final String OPERATION_UPDATE_WEBHOOK = "bkOperationUpdateWebhook"; // 修改WEBHOOK
|
||||
public static final String OPERATION_LIST_WEBHOOK = "bkOperationListWebhook"; // 查询WEBHOOK
|
||||
public static final String OPERATION_ADD_COMMIT_CHECK = "bkOperationAddCommitCheck"; // 添加COMMIT CHECK
|
||||
public static final String OPERATION_ADD_MR_COMMENT = "bkOperationAddMrComment"; // 添加MR COMMENT
|
||||
public static final String OPERATION_LIST_MR = "bkOperationListMr"; // 添加MR
|
||||
public static final String OPERATION_ADD_MR = "bkOperationAddMr"; // 添加MR
|
||||
public static final String OPERATION_COMMIT = "bkOperationCommit"; // 拉提交记录
|
||||
public static final String OPERATION_COMMIT_DIFF = "bkOperationCommitDiff"; // 查询commit变化
|
||||
public static final String OPERATION_UNLOCK_HOOK_LOCK = "bkOperationUnlockHookLock"; // 解锁hook锁
|
||||
public static final String OPERATION_MR_CHANGE = "bkOperationMrChange"; // 查询合并请求的代码变更
|
||||
public static final String OPERATION_MR_INFO = "bkOperationMrInfo"; // 查询项目合并请求
|
||||
public static final String OPERATION_GET_CHANGE_FILE_LIST = "bkOperationGetChangeFileList"; // 查询变更文件列表
|
||||
public static final String OPERATION_GET_MR_COMMIT_LIST = "bkOperationGetMrCommitList"; // 获取合并请求中的提交
|
||||
public static final String OPERATION_PROJECT_USER_INFO = "bkOperationProjectUserInfo"; // 获取项目中成员信息
|
||||
public static final String OPERATION_TAPD_WORKITEMS = "bkOperationTapdWorkItems"; // 查看绑定的TAPD单
|
||||
public static final String BK_USER_GROUP_CRATE_TIME = "bkUserGroupCrateTime"; // {0} 用户组:{1},由{2} 创建于
|
||||
public static final String BK_USER_RATING_ADMIN_CRATE_TIME = "bkUserRatingAdminCrateTime"; // {0} 分级管理员,由{1} 创建于
|
||||
public static final String BK_SECOND_LEVEL_ADMIN_CREATE = "bkSecondLevelAdminCreate"; // {0} 二级管理员, 由{1} 创建于
|
||||
public static final String BK_SECOND_LEVEL_ADMIN_REVISE = "bkSecondLevelAdminRevise"; // {0} 二级管理员, 由{1} 修改于
|
||||
public static final String BK_USER_REQUESTS_THE_PROJECT = "bkUserRequestsTheProject"; // 用户 {0} 申请{1}蓝盾项目 {2} ,请审批!
|
||||
public static final String BK_ENV_NOT_YET_SUPPORTED = "bkEnvNotYetSupported"; // 尚未支持 {0} {1},请联系 管理员 添加对应版本
|
||||
|
||||
public static final String BK_BUILD_ENV_TYPE = "BUILD_ENV_TYPE_"; // 构建环境-
|
||||
public static final String BK_BUILD_ENV_TYPE_BUILDLESS = "BUILD_ENV_TYPE_BUILDLESS"; // 无编译环境
|
||||
public static final String BK_BUILD_ENV_TYPE_BUILD_TRIGGERS = "BUILD_ENV_TYPE_BUILD_TRIGGER"; // 构建触发
|
||||
public static final String TRANSFER_ERROR_CHECK_AGENT_ID_FAILED = "transferErrorCheckAgentIdFailed"; // 当前私有构建机数据有误或不存在
|
||||
public static final String TRANSFER_ERROR_CHECK_ENV_ID_FAILED = "transferErrorCheckEnvIdFailed"; // 当前私有构建机集群数据有误或不存在
|
||||
}
|
@ -1,119 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.constant;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.constant
|
||||
* @Project:ops-pro
|
||||
* @name:HttpStatus
|
||||
* @Date:2025/03/26 18:26
|
||||
* @Filename:HttpStatus
|
||||
* @description:Todo
|
||||
*/
|
||||
public enum HttpStatus {
|
||||
CONTINUE(100, "Continue"),
|
||||
SWITCHING_PROTOCOLS(101, "Switching Protocols"),
|
||||
PROCESSING(102, "Processing"),
|
||||
CHECKPOINT(103, "Checkpoint"),
|
||||
OK(200, "OK"),
|
||||
CREATED(201, "Created"),
|
||||
ACCEPTED(202, "Accepted"),
|
||||
NON_AUTHORITATIVE_INFORMATION(203, "Non-Authoritative Information"),
|
||||
NO_CONTENT(204, "No Content"),
|
||||
RESET_CONTENT(205, "Reset Content"),
|
||||
PARTIAL_CONTENT(206, "Partial Content"),
|
||||
MULTI_STATUS(207, "Multi-Status"),
|
||||
ALREADY_REPORTED(208, "Already Reported"),
|
||||
IM_USED(226, "IM Used"),
|
||||
MULTIPLE_CHOICES(300, "Multiple Choices"),
|
||||
MOVED_PERMANENTLY(301, "Moved Permanently"),
|
||||
FOUND(302, "Found"),
|
||||
MOVED_TEMPORARILY(302, "Moved Temporarily"),
|
||||
SEE_OTHER(303, "See Other"),
|
||||
NOT_MODIFIED(304, "Not Modified"),
|
||||
USE_PROXY(305, "Use Proxy"),
|
||||
TEMPORARY_REDIRECT(307, "Temporary Redirect"),
|
||||
PERMANENT_REDIRECT(308, "Permanent Redirect"),
|
||||
BAD_REQUEST(400, "Bad Request"),
|
||||
UNAUTHORIZED(401, "Unauthorized"),
|
||||
PAYMENT_REQUIRED(402, "Payment Required"),
|
||||
FORBIDDEN(403, "Forbidden"),
|
||||
NOT_FOUND(404, "Not Found"),
|
||||
METHOD_NOT_ALLOWED(405, "Method Not Allowed"),
|
||||
NOT_ACCEPTABLE(406, "Not Acceptable"),
|
||||
PROXY_AUTHENTICATION_REQUIRED(407, "Proxy Authentication Required"),
|
||||
REQUEST_TIMEOUT(408, "Request Timeout"),
|
||||
CONFLICT(409, "Conflict"),
|
||||
GONE(410, "Gone"),
|
||||
LENGTH_REQUIRED(411, "Length Required"),
|
||||
PRECONDITION_FAILED(412, "Precondition Failed"),
|
||||
PAYLOAD_TOO_LARGE(413, "Payload Too Large"),
|
||||
REQUEST_ENTITY_TOO_LARGE(413, "Request Entity Too Large"),
|
||||
URI_TOO_LONG(414, "URI Too Long"),
|
||||
REQUEST_URI_TOO_LONG(414, "Request-URI Too Long"),
|
||||
UNSUPPORTED_MEDIA_TYPE(415, "Unsupported Media Type"),
|
||||
REQUESTED_RANGE_NOT_SATISFIABLE(416, "Requested range not satisfiable"),
|
||||
EXPECTATION_FAILED(417, "Expectation Failed"),
|
||||
I_AM_A_TEAPOT(418, "I'm a teapot"),
|
||||
INSUFFICIENT_SPACE_ON_RESOURCE(419, "Insufficient Space On Resource"),
|
||||
METHOD_FAILURE(420, "Method Failure"),
|
||||
DESTINATION_LOCKED(421, "Destination Locked"),
|
||||
UNPROCESSABLE_ENTITY(422, "Unprocessable Entity"),
|
||||
LOCKED(423, "Locked"),
|
||||
FAILED_DEPENDENCY(424, "Failed Dependency"),
|
||||
TOO_EARLY(425, "Too Early"),
|
||||
UPGRADE_REQUIRED(426, "Upgrade Required"),
|
||||
PRECONDITION_REQUIRED(428, "Precondition Required"),
|
||||
TOO_MANY_REQUESTS(429, "Too Many Requests"),
|
||||
REQUEST_HEADER_FIELDS_TOO_LARGE(431, "Request Header Fields Too Large"),
|
||||
UNAVAILABLE_FOR_LEGAL_REASONS(451, "Unavailable For Legal Reasons"),
|
||||
INTERNAL_SERVER_ERROR(500, "Internal Server Error"),
|
||||
NOT_IMPLEMENTED(501, "Not Implemented"),
|
||||
BAD_GATEWAY(502, "Bad Gateway"),
|
||||
SERVICE_UNAVAILABLE(503, "Service Unavailable"),
|
||||
GATEWAY_TIMEOUT(504, "Gateway Timeout"),
|
||||
HTTP_VERSION_NOT_SUPPORTED(505, "HTTP Version not supported"),
|
||||
VARIANT_ALSO_NEGOTIATES(506, "Variant Also Negotiates"),
|
||||
INSUFFICIENT_STORAGE(507, "Insufficient Storage"),
|
||||
LOOP_DETECTED(508, "Loop Detected"),
|
||||
BANDWIDTH_LIMIT_EXCEEDED(509, "Bandwidth Limit Exceeded"),
|
||||
NOT_EXTENDED(510, "Not Extended"),
|
||||
NETWORK_AUTHENTICATION_REQUIRED(511, "Network Authentication Required");
|
||||
|
||||
private final int value;
|
||||
private final String reasonPhrase;
|
||||
|
||||
HttpStatus(int value, String reasonPhrase) {
|
||||
this.value = value;
|
||||
this.reasonPhrase = reasonPhrase;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public String getReasonPhrase() {
|
||||
return reasonPhrase;
|
||||
}
|
||||
|
||||
public boolean isServerError() {
|
||||
return value >= INTERNAL_SERVER_ERROR.getValue();
|
||||
}
|
||||
|
||||
public static HttpStatus valueOf(int statusCode) throws IllegalArgumentException {
|
||||
for (HttpStatus status : values()) {
|
||||
if (status.getValue() == statusCode) {
|
||||
return status;
|
||||
}
|
||||
}
|
||||
throw new IllegalArgumentException("No matching constant for [" + statusCode + "]");
|
||||
}
|
||||
|
||||
public static HttpStatus resolve(int statusCode) {
|
||||
for (HttpStatus status : values()) {
|
||||
if (status.getValue() == statusCode) {
|
||||
return status;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.constant;
|
||||
|
||||
/**
|
||||
* @Classname LeafAllocConstant
|
||||
* @Description 流水线的枚举
|
||||
* @Date 2025/3/18 10:16
|
||||
* @author mianbin
|
||||
*/
|
||||
public class LeafAllocConstant {
|
||||
/** =========================================流水线====================================================== */
|
||||
public static final String AUDIT_RESOURCE = "AUDIT_RESOURCE";
|
||||
|
||||
public static final String PIPELINE_RESOURCE = "PIPELINE_RESOURCE";
|
||||
|
||||
public static final String PIPELINE_VERSION_SIMPLE_RESOURCE = "PIPELINE_VERSION_SIMPLE_RESOURCE";
|
||||
|
||||
public static final String PIPELINE_SETTING_RESOURCE = "PIPELINE_SETTING_RESOURCE";
|
||||
|
||||
public static final String PIPELINE_VERSION_SETTING_RESOURCE = "PIPELINE_VERSION_SETTING_RESOURCE";
|
||||
|
||||
public static final String PIPELINE_LABEL_PIPELINE_RESOURCE = "PIPELINE_LABEL_PIPELINE_RESOURCE";
|
||||
|
||||
public static final String TEMPLATE_PIPELINE_RESOURCE = "TEMPLATE_PIPELINE_RESOURCE";
|
||||
|
||||
public static final String PIPELINE_BUILD_SUMMARY = "PIPELINE_BUILD_SUMMARY";
|
||||
|
||||
public static final String PIPELINE_BUILD_HISTORY = "PIPELINE_BUILD_HISTORY";
|
||||
|
||||
public static final String PIPELINE_BUILD_TASK = "PIPELINE_BUILD_TASK";
|
||||
|
||||
public static final String PIPELINE_BUILD_CONTAINER = "PIPELINE_BUILD_CONTAINER";
|
||||
|
||||
public static final String PIPELINE_BUILD_STAGE = "PIPELINE_BUILD_STAGE";
|
||||
|
||||
public static final String PIPELINE_BUILD_RECORD_CONTAINER = "PIPELINE_BUILD_RECORD_CONTAINER";
|
||||
|
||||
public static final String PIPELINE_BUILD_RECORD_MODEL = "PIPELINE_BUILD_RECORD_MODEL";
|
||||
|
||||
public static final String PIPELINE_BUILD_RECORD_STAGE = "PIPELINE_BUILD_RECORD_STAGE";
|
||||
|
||||
public static final String PIPELINE_BUILD_RECORD_TASK = "PIPELINE_BUILD_RECORD_TASK";
|
||||
|
||||
public static final String PIPELINE_BUILD_DETAIL = "PIPELINE_BUILD_DETAIL";
|
||||
|
||||
public static final String PIPELINE_LABEL_PIPELINE = "PIPELINE_LABEL_PIPELINE";
|
||||
|
||||
public static final String STAGE_TAG = "STAGE_TAG";
|
||||
|
||||
public static final String PIPELINE_JOB_MUTEX_GROUP_RESOURCE = "PIPELINE_JOB_MUTEX_GROUP_RESOURCE";
|
||||
|
||||
public static final String MODEL_TASK = "PIPELINE_MODEL_TASK";
|
||||
|
||||
public static final String PIPELINE_TRIGGER_REVIEW = "PIPELINE_TRIGGER_REVIEW";
|
||||
|
||||
public static final String PIPELINE_BUILD_VAR = "PIPELINE_BUILD_VAR";
|
||||
|
||||
/** =========================================项目====================================================== */
|
||||
public static final String PROJECT_RESOURCE = "PROJECT_RESOURCE";
|
||||
|
||||
/** ========================================日志===================================================== */
|
||||
public static final String LOG_STATUS = "LOG_STATUS";
|
||||
public static final String LOG_SUBTAGS = "LOG_SUBTAGS";
|
||||
public static final String LOG_INDICES_V2 = "LOG_INDICES_V2";
|
||||
}
|
@ -1,88 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.constant;
|
||||
|
||||
|
||||
/**
|
||||
* @author by mianbin
|
||||
* @Classname OpsHeader
|
||||
* @Description 重要,莫动
|
||||
* @Date 2025/3/19 14:49
|
||||
*/
|
||||
|
||||
public final class OpsHeader {
|
||||
|
||||
public static final String AUTH_HEADER_USER_ID = "X-DEVOPS-UID";
|
||||
public static final String AUTH_HEADER_USER_ID_DEFAULT_VALUE = "admin";
|
||||
public static final String AUTH_HEADER_BUILD_ID = "X-DEVOPS-BUILD-ID";
|
||||
public static final String AUTH_HEADER_VM_SEQ_ID = "X-DEVOPS-VM-SID";
|
||||
public static final String AUTH_HEADER_VM_NAME = "X-DEVOPS-VM-NAME";
|
||||
public static final String AUTH_HEADER_PROJECT_ID = "X-DEVOPS-PROJECT-ID";
|
||||
public static final String AUTH_HEADER_AGENT_SECRET_KEY = "X-DEVOPS-AGENT-SECRET-KEY";
|
||||
public static final String AUTH_HEADER_AGENT_ID = "X-DEVOPS-AGENT-ID";
|
||||
public static final String AUTH_HEADER_PIPELINE_ID = "X-DEVOPS-PIPELINE-ID";
|
||||
public static final String AUTH_HEADER_REGION = "X-DEVOPS-REGION";
|
||||
public static final String AUTH_HEADER_DEVOPS_APP_CODE = "X-DEVOPS-APP-CODE";
|
||||
public static final String AUTH_HEADER_DEVOPS_APP_SECRET = "X-DEVOPS-APP-SECRET";
|
||||
public static final String AUTH_HEADER_DEVOPS_BUILD_TYPE = "X-DEVOPS-BUILD-TYPE";
|
||||
public static final String AUTH_HEADER_DEVOPS_USER_ID = AUTH_HEADER_USER_ID;
|
||||
public static final String AUTH_HEADER_DEVOPS_USER_ID_DEFAULT_StringUE = "admin";
|
||||
public static final String AUTH_HEADER_DEVOPS_APP_CODE_DEFAULT_StringUE = "opsci";
|
||||
public static final String AUTH_HEADER_DEVOPS_BG_ID = "X-DEVOPS-BG-ID";
|
||||
public static final String AUTH_HEADER_DEVOPS_DEPT_ID = "X-DEVOPS-DEPT-ID";
|
||||
public static final String AUTH_HEADER_DEVOPS_CENTER_ID = "X-DEVOPS-CENTER-ID";
|
||||
public static final String AUTH_HEADER_DEVOPS_ORGANIZATION_TYPE = "X-DEVOPS-ORGANIZATION-TYPE";
|
||||
public static final String AUTH_HEADER_DEVOPS_ORGANIZATION_TYPE_BG = "BG";
|
||||
public static final String AUTH_HEADER_DEVOPS_ORGANIZATION_TYPE_DEPARTMENT = "DEPARTMENT";
|
||||
public static final String AUTH_HEADER_DEVOPS_ORGANIZATION_TYPE_CENTER = "CENTER";
|
||||
public static final String AUTH_HEADER_DEVOPS_ORGANIZATION_ID = "X-DEVOPS-ORGANIZATION-ID";
|
||||
public static final String AUTH_HEADER_DEVOPS_ORGANIZATION_NAME = "X-DEVOPS-ORGANIZATION-NAME";
|
||||
public static final String AUTH_HEADER_DEVOPS_PROJECT_ID = "X-DEVOPS-PROJECT-ID";
|
||||
public static final String AUTH_HEADER_DEVOPS_PIPELINE_ID = "X-DEVOPS-PIPELINE-ID";
|
||||
public static final String AUTH_HEADER_DEVOPS_BUILD_ID = "X-DEVOPS-BUILD-ID";
|
||||
public static final String AUTH_HEADER_DEVOPS_VM_SEQ_ID = "X-DEVOPS-VM-SID";
|
||||
public static final String AUTH_HEADER_DEVOPS_VM_NAME = "X-DEVOPS-VM-NAME";
|
||||
public static final String AUTH_HEADER_DEVOPS_REAL_IP = "X-DEVOPS-REAL-IP";
|
||||
public static final String AUTH_HEADER_DEVOPS_AGENT_ID = "X-DEVOPS-AGENT-ID";
|
||||
public static final String AUTH_HEADER_DEVOPS_AGENT_SECRET_KEY = "X-DEVOPS-AGENT-SECRET-KEY";
|
||||
public static final String AUTH_HEADER_DEVOPS_OPS_TOKEN = "X-DEVOPS-OPS-TOKEN";
|
||||
public static final String AUTH_HEADER_DEVOPS_ACCESS_TOKEN = "X-DEVOPS-ACCESS-TOKEN";
|
||||
public static final String AUTH_HEADER_DEVOPS_OPS_TICKET = "X-DEVOPS-OPS-TOKEN";
|
||||
public static final String AUTH_HEADER_DEVOPS_USER_CHINESE_NAME = "X-DEVOPS-CHINESE-NAME";
|
||||
public static final String AUTH_HEADER_DEVOPS_USER_PAAS_ID = "X-DEVOPS-PAAS-USER-ID";
|
||||
public static final String AUTH_HEADER_DEVOPS_ORIGINAL_HOST = "X-DEVOPS-ORIGINAL-HOST";
|
||||
public static final String AUTH_HEADER_DEVOPS_JWT_TOKEN = "X-DEVOPS-JWT-TOKEN";
|
||||
public static final String AUTH_HEADER_IAM_TOKEN = "Authorization";
|
||||
public static final String AUTH_HEADER_DEVOPS_SIGN_INFO = "X-DEVOPS-SIGN-INFO";
|
||||
public static final String AUTH_HEADER_PLATFORM = "X-DEVOPS-PLATFORM";
|
||||
public static final String AUTH_HEADER_APP_VERSION = "X-DEVOPS-APP-VERSION";
|
||||
public static final String AUTH_HEADER_GATEWAY_TAG = "X-GATEWAY-TAG";
|
||||
public static final String AUTH_HEADER_DEVOPS_CI_TASK_ID = "X-DEVOPS-CI-TASK-ID";
|
||||
public static final String SIGN_HEADER_TIMESTAMP = "X-DEVOPS-TIMESTAMP";
|
||||
public static final String SIGN_HEADER_NONCE = "X-DEVOPS-NONCE";
|
||||
public static final String SING_HEADER_SIGNATURE = "X-DEVOPS-SIGNATURE";
|
||||
public static final String AUTH_HEADER_GITHUB_TOKEN = "X-GITHUB-TOKEN";
|
||||
public static final String AUTH_HEADER_GIT_TYPE = "X-DEVOPS-STREAM-GIT-TYPE";
|
||||
public static final String AUTH_HEADER_OPS_CI_LOGIN_TOKEN = "X-DEVOPS-CI-LOGIN-TOKEN";
|
||||
public static final String AUTH_HEADER_DEVOPS_SERVICE_NAME = "X-DEVOPS-SERVICE-NAME";
|
||||
|
||||
public static final String AUTH_HEADER_DEVOPS_BK_TOKEN = "X-DEVOPS-BK-TOKEN";
|
||||
|
||||
public static final String AUTH_HEADER_CODECC_OPENAPI_TOKEN = "X-CODECC-OPENAPI-TOKEN";
|
||||
|
||||
public static final String AUTH_HEADER_OAUTH2_CLIENT_ID = "X-DEVOPS-OAUTH2-CLIENT-ID";
|
||||
public static final String AUTH_HEADER_OAUTH2_CLIENT_SECRET = "X-DEVOPS-OAUTH2-CLIENT-SECRET";
|
||||
public static final String AUTH_HEADER_OAUTH2_AUTHORIZATION = "X-DEVOPS-OAUTH2-AUTHORIZATION";
|
||||
public static final String REFERER = "referer"; // 来源
|
||||
|
||||
public static final String DEVX_HEADER_GW_TOKEN = "X-DEVOPS-DEVX-GW-TOKEN";
|
||||
public static final String DEVX_HEADER_NGGW_CLIENT_ADDRESS = "X-OPS-NGGW-CLIENT-ADDRESS";
|
||||
public static final String DEVX_HEADER_CDS_TOKEN = "X-OPS-CDS-TOKEN";
|
||||
|
||||
public static final String AUTH_HEADER_DEVOPS_SHA_CONTENT = "X-DEVOPS-SHA-CONTENT";
|
||||
public static final String AUTH_HEADER_DEVOPS_OS_NAME = "X-DEVOPS-OS-NAME";
|
||||
public static final String AUTH_HEADER_DEVOPS_OS_ARCH = "X-DEVOPS-OS-ARCH";
|
||||
public static final String AUTH_HEADER_DEVOPS_STORE_CODE = "X-DEVOPS-STORE-CODE";
|
||||
public static final String AUTH_HEADER_DEVOPS_STORE_TYPE = "X-DEVOPS-STORE-TYPE";
|
||||
public static final String AUTH_HEADER_DEVOPS_STORE_VERSION = "X-DEVOPS-STORE-VERSION";
|
||||
public static final String AUTH_HEADER_DEVOPS_SIGN_FILE_NAME = "X-DEVOPS-SIGN-FILE-NAME";
|
||||
public static final String AUTH_HEADER_DEVOPS_ENV = "X-DEVOPS-ENV";
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.constant;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.constant
|
||||
* @Project:ops-pro
|
||||
* @name:PipelineConstants
|
||||
* @Date:2025/03/26 15:59
|
||||
* @Filename:PipelineConstants
|
||||
* @description:Todo
|
||||
*/
|
||||
public class PipelineConstants {
|
||||
public static final String PIPELINE_SUBPIPELINE_CALL_ELEMENT_ID = "pipeline.subpipeline.call.element.id";
|
||||
public static final String PIPELINE_SUBPIPELINE_CALL_ELEMENT_NAME = "pipeline.subpipeline.call.element.name";
|
||||
public static final String PIPELINE_GIT_REF = "GIT_CI_REF";
|
||||
public static final String PIPELINE_GIT_HEAD_REF = "GIT_CI_HEAD_REF";
|
||||
public static final String PIPELINE_GIT_BASE_REF = "GIT_CI_BASE_REF";
|
||||
public static final String PIPELINE_GIT_REPO = "GIT_CI_REPO";
|
||||
public static final String PIPELINE_GIT_REPO_ID = "GIT_CI_REPO_ID";
|
||||
public static final String PIPELINE_GIT_REPO_NAME = "GIT_CI_REPO_NAME";
|
||||
public static final String PIPELINE_GIT_REPO_GROUP = "GIT_CI_REPO_GROUP";
|
||||
public static final String PIPELINE_GIT_REPO_CREATE_TIME = "GIT_CI_REPO_CREATE_TIME";
|
||||
public static final String PIPELINE_GIT_REPO_CREATOR = "GIT_CI_REPO_CREATOR";
|
||||
public static final String PIPELINE_GIT_EVENT = "GIT_CI_EVENT";
|
||||
public static final String PIPELINE_GIT_EVENT_CONTENT = "GIT_CI_EVENT_CONTENT";
|
||||
public static final String PIPELINE_GIT_SHA = "GIT_CI_SHA";
|
||||
public static final String PIPELINE_GIT_SHA_SHORT = "GIT_CI_SHA_SHORT";
|
||||
public static final String PIPELINE_GIT_BEFORE_SHA = "GIT_CI_BEFORE_SHA";
|
||||
public static final String PIPELINE_GIT_BEFORE_SHA_SHORT = "GIT_CI_BEFORE_SHA_SHORT";
|
||||
public static final String PIPELINE_GIT_COMMIT_MESSAGE = "GIT_CI_COMMIT_MESSAGE";
|
||||
public static final String PIPELINE_GIT_EVENT_URL = "GIT_CI_EVENT_URL";
|
||||
public static final String PIPELINE_GIT_ACTION = "GIT_CI_ACTION";
|
||||
public static final String PIPELINE_GIT_YAML_PATH = "GIT_CI_YAML_PATH";
|
||||
public static final String PIPELINE_GIT_REPO_URL = "GIT_CI_REPO_URL";
|
||||
public static final String PIPELINE_GIT_BASE_REPO_URL = "GIT_CI_BASE_REPO_URL";
|
||||
public static final String PIPELINE_GIT_HEAD_REPO_URL = "GIT_CI_HEAD_REPO_URL";
|
||||
public static final String PIPELINE_GIT_COMMIT_AUTHOR = "GIT_CI_COMMIT_AUTHOR";
|
||||
public static final String PIPELINE_GIT_UPDATE_USER = "GIT_CI_PIPELINE_UPDATE_USER";
|
||||
public static final String PIPELINE_GIT_AUTHORIZER = "GIT_CI_AUTHORIZER";
|
||||
public static final String PIPELINE_GIT_TAG_MESSAGE = "GIT_CI_TAG_MESSAGE";
|
||||
public static final String PIPELINE_GIT_TAG_FROM = "GIT_CI_TAG_FROM";
|
||||
public static final String PIPELINE_GIT_MR_ID = "GIT_CI_MR_ID";
|
||||
public static final String PIPELINE_GIT_MR_IID = "GIT_CI_MR_IID";
|
||||
public static final String PIPELINE_GIT_MR_URL = "GIT_CI_MR_URL";
|
||||
public static final String PIPELINE_GIT_MR_TITLE = "GIT_CI_MR_TITLE";
|
||||
public static final String PIPELINE_GIT_MR_DESC = "GIT_CI_MR_DESC";
|
||||
public static final String PIPELINE_GIT_MR_PROPOSER = "GIT_CI_MR_PROPOSER";
|
||||
public static final String PIPELINE_GIT_MR_ACTION = "GIT_CI_MR_ACTION";
|
||||
public static final String PIPELINE_PAC_REPO_HASH_ID = "BK_CI_PAC_REPO_HASH_ID";
|
||||
public static final String PIPELINE_GIT_TIME_TRIGGER_KIND = "schedule";
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.constant;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.constant
|
||||
* @Project:ops-pro
|
||||
* @name:StringConstant
|
||||
* @Date:2025/03/26 18:26
|
||||
* @Filename:StringConstant
|
||||
* @description:Todo
|
||||
*/
|
||||
public class StringConstant {
|
||||
public static String coerceAtMaxLength(String str, int maxLength) {
|
||||
if (str.length() > maxLength) {
|
||||
return str.substring(0, maxLength);
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
public static String appendIfNotEmpty(String str, String suffix, String separator) {
|
||||
if (suffix != null && !suffix.isEmpty()) {
|
||||
return str + separator + suffix;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
public static String appendIfNotEmpty(String str, String suffix) {
|
||||
return appendIfNotEmpty(str, suffix, ".");
|
||||
}
|
||||
}
|
@ -1,178 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.constant;
|
||||
|
||||
/**
|
||||
* @author by mianbin
|
||||
* @Classname WebhookConstant
|
||||
* @Description TODO
|
||||
* @Date 2025/4/1 16:55
|
||||
*/
|
||||
public class WebhookConstant {
|
||||
public static final String CI_RUN = "CI_RUN";
|
||||
public static final String CI_REF = "CI_REF";
|
||||
public static final String CI_REPO_OWNER = "CI_REPO_OWNER";
|
||||
public static final String CI_REPOSITORY = "CI_REPOSITORY";
|
||||
public static final String CI_BRANCH = "ci.branch";
|
||||
public static final String DELETE_EVENT = "delete";
|
||||
|
||||
public static final String REPO_WEBHOOK_REPO_TYPE = "CI_REPO_WEBHOOK_REPO_TYPE";
|
||||
public static final String REPO_WEBHOOK_REPO_URL = "CI_REPO_WEBHOOK_REPO_URL";
|
||||
public static final String REPO_WEBHOOK_REPO_NAME = "CI_REPO_WEBHOOK_NAME";
|
||||
public static final String REPO_WEBHOOK_REPO_ALIAS_NAME = "CI_REPO_WEBHOOK_ALIAS_NAME";
|
||||
public static final String REPO_WEBHOOK_HASH_ID = "CI_REPO_WEB_HOOK_HASHID";
|
||||
public static final String REPO_WEBHOOK_REPO_AUTH_USER = "CI_REPO_WEBHOOK_AUTH_USER";
|
||||
|
||||
public static final String REPO_GIT_WEBHOOK_COMMIT_MESSAGE = "CI_REPO_GIT_WEBHOOK_COMMIT_MESSAGE";
|
||||
public static final String REPO_GIT_WEBHOOK_COMMIT_ID = "CI_REPO_GIT_WEBHOOK_COMMITID";
|
||||
public static final String REPO_GIT_WEBHOOK_COMMIT_ID_SHORT = "CI_REPO_GIT_WEBHOOK_COMMITID_SHORT";
|
||||
public static final String REPO_GIT_WEBHOOK_EVENT_TYPE = "CI_REPO_GIT_WEBHOOK_EVENT_TYPE";
|
||||
public static final String REPO_GIT_WEBHOOK_INCLUDE_BRANCHS = "CI_REPO_GIT_WEBHOOK_INCLUDE_BRANCH";
|
||||
public static final String REPO_GIT_WEBHOOK_EXCLUDE_BRANCHS = "CI_REPO_GIT_WEBHOOK_EXCLUDE_BRANCH";
|
||||
public static final String REPO_GIT_WEBHOOK_INCLUDE_PATHS = "CI_REPO_GIT_WEBHOOK_INCLUDE_PATHS";
|
||||
public static final String REPO_GIT_WEBHOOK_EXCLUDE_PATHS = "CI_REPO_GIT_WEBHOOK_EXCLUDE_PATHS";
|
||||
public static final String REPO_GIT_WEBHOOK_EXCLUDE_USERS = "CI_REPO_GIT_WEBHOOK_EXCLUDE_USERS";
|
||||
public static final String REPO_GIT_WEBHOOK_INCLUDE_USERS = "CI_REPO_GIT_WEBHOOK_INCLUDE_USERS";
|
||||
public static final String REPO_GIT_WEBHOOK_BRANCH = "CI_REPO_GIT_WEBHOOK_BRANCH";
|
||||
public static final String REPO_GIT_MANUAL_UNLOCK = "CI_REPO_GIT_MANUAL_UNLOCK";
|
||||
public static final String REPO_GIT_WEBHOOK_ENABLE_CHECK = "REPO_GIT_WEBHOOK_ENABLE_CHECK";
|
||||
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_USERNAME = "CI_REPO_GIT_WEBHOOK_PUSH_USERNAME";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_BEFORE_COMMIT = "REPO_GIT_WEBHOOK_PUSH_BEFORE_COMMIT";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_AFTER_COMMIT = "REPO_GIT_WEBHOOK_PUSH_AFTER_COMMIT";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_TOTAL_COMMIT = "REPO_GIT_WEBHOOK_PUSH_TOTAL_COMMIT";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_COMMIT_PREFIX = "REPO_GIT_WEBHOOK_PUSH_COMMIT_";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_COMMIT_MSG_PREFIX = "REPO_GIT_WEBHOOK_PUSH_COMMIT_MSG_";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_COMMIT_TIMESTAMP_PREFIX = "REPO_GIT_WEBHOOK_PUSH_COMMIT_TIMESTAMP_";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_COMMIT_AUTHOR_PREFIX = "REPO_GIT_WEBHOOK_PUSH_COMMIT_AUTHOR_";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_ADD_FILE_PREFIX = "REPO_GIT_WEBHOOK_PUSH_ADD_FILE_";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_MODIFY_FILE_PREFIX = "REPO_GIT_WEBHOOK_PUSH_MODIFY_FILE_";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_DELETE_FILE_PREFIX = "REPO_GIT_WEBHOOK_PUSH_DELETE_FILE_";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_ADD_FILE_COUNT = "REPO_GIT_WEBHOOK_PUSH_ADD_FILE_COUNT";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_MODIFY_FILE_COUNT = "REPO_GIT_WEBHOOK_PUSH_MODIFY_FILE_COUNT";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_DELETE_FILE_COUNT = "REPO_GIT_WEBHOOK_PUSH_DELETE_FILE_COUNT";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_OPERATION_KIND = "REPO_GIT_WEBHOOK_PUSH_OPERATION_KIND";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_ACTION_KIND = "REPO_GIT_WEBHOOK_PUSH_ACTION_KIND";
|
||||
public static final String REPO_GIT_WEBHOOK_PUSH_PROJECT_ID = "REPO_GIT_WEBHOOK_PUSH_PROJECT_ID";
|
||||
|
||||
public static final String REPO_GIT_WEBHOOK_FINAL_INCLUDE_BRANCH = "CI_GIT_WEBHOOK_FINAL_INCLUDE_BRANCH";
|
||||
public static final String REPO_GIT_WEBHOOK_FINAL_INCLUDE_PATH = "CI_GIT_WEBHOOK_FINAL_INCLUDE_PATH";
|
||||
|
||||
public static final String REPO_GIT_WEBHOOK_MR_AUTHOR = "CI_REPO_GIT_WEBHOOK_MR_AUTHOR";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_ACTION = "CI_REPO_GIT_WEBHOOK_MR_ACTION";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_TARGET_URL = "CI_REPO_GIT_WEBHOOK_TARGET_URL";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_SOURCE_URL = "CI_REPO_GIT_WEBHOOK_SOURCE_URL";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_TARGET_BRANCH = "CI_REPO_GIT_WEBHOOK_TARGET_BRANCH";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_SOURCE_BRANCH = "CI_REPO_GIT_WEBHOOK_SOURCE_BRANCH";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_CREATE_TIME = "CI_REPO_GIT_WEBHOOK_MR_CREATE_TIME";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_UPDATE_TIME = "CI_REPO_GIT_WEBHOOK_MR_UPDATE_TIME";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_CREATE_TIMESTAMP = "CI_REPO_GIT_WEBHOOK_MR_CREATE_TIMESTAMP";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_UPDATE_TIMESTAMP = "CI_REPO_GIT_WEBHOOK_MR_UPDATE_TIMESTAMP";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_ID = "CI_REPO_GIT_WEBHOOK_MR_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_NUMBER = "CI_REPO_GIT_WEBHOOK_MR_NUMBER";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_DESCRIPTION = "CI_REPO_GIT_WEBHOOK_MR_DESC";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_TITLE = "CI_REPO_GIT_WEBHOOK_MR_TITLE";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_ASSIGNEE = "CI_REPO_GIT_WEBHOOK_MR_ASSIGNEE";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_URL = "CI_REPO_GIT_WEBHOOK_MR_URL";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_REVIEWERS = "CI_REPO_GIT_WEBHOOK_MR_REVIEWERS";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_MILESTONE = "CI_REPO_GIT_WEBHOOK_MR_MILESTONE";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_MILESTONE_ID = "CI_REPO_GIT_WEBHOOK_MR_MILESTONE_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_MILESTONE_DUE_DATE = "CI_REPO_GIT_WEBHOOK_MR_MILESTONE_DUE_DATE";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_LABELS = "CI_REPO_GIT_WEBHOOK_MR_LABELS";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_LAST_COMMIT = "REPO_GIT_WEBHOOK_MR_LAST_COMMIT";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_LAST_COMMIT_MSG = "REPO_GIT_WEBHOOK_MR_LAST_COMMIT_MSG";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_MERGE_TYPE = "REPO_GIT_WEBHOOK_MR_MERGE_TYPE";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_MERGE_COMMIT_SHA = "REPO_GIT_WEBHOOK_MR_MERGE_COMMIT_SHA";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_BASE_COMMIT = "REPO_GIT_WEBHOOK_MR_BASE_COMMIT";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_TARGET_COMMIT = "REPO_GIT_WEBHOOK_MR_TARGET_COMMIT";
|
||||
public static final String REPO_GIT_WEBHOOK_MR_SOURCE_COMMIT = "REPO_GIT_WEBHOOK_MR_SOURCE_COMMIT";
|
||||
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_REVIEWABLE_ID = "CI_REPO_GIT_WEBHOOK_REVIEW_REVIEWABLE_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_REVIEWABLE_TYPE = "CI_REPO_GIT_WEBHOOK_REVIEW_REVIEWABLE_TYPE";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_RESTRICT_TYPE = "CI_REPO_GIT_WEBHOOK_REVIEW_RESTRICT_TYPE";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_APPROVING_REVIEWERS = "CI_REPO_GIT_WEBHOOK_REVIEW_APPROVING_REVIEWERS";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_APPROVED_REVIEWERS = "CI_REPO_GIT_WEBHOOK_REVIEW_APPROVED_REVIEWERS";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_REVIEWERS = "CI_REPO_GIT_WEBHOOK_REVIEW_REVIEWERS";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_STATE = "CI_REPO_GIT_WEBHOOK_REVIEW_STATE";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_OWNER = "CI_REPO_GIT_WEBHOOK_REVIEW_OWNER";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_ID = "CI_REPO_GIT_WEBHOOK_REVIEW_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_IID = "CI_REPO_GIT_WEBHOOK_REVIEW_IID";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_SOURCE_BRANCH = "CI_REPO_GIT_WEBHOOK_REVIEW_SOURCE_BRANCH";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_SOURCE_PROJECT_ID = "CI_REPO_GIT_WEBHOOK_REVIEW_SOURCE_PROJECT_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_SOURCE_COMMIT = "CI_REPO_GIT_WEBHOOK_REVIEW_SOURCE_COMMIT";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_TARGET_COMMIT = "CI_REPO_GIT_WEBHOOK_REVIEW_TARGET_COMMIT";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_TARGET_BRANCH = "CI_REPO_GIT_WEBHOOK_REVIEW_TARGET_BRANCH";
|
||||
public static final String REPO_GIT_WEBHOOK_REVIEW_TARGET_PROJECT_ID = "CI_REPO_GIT_WEBHOOK_REVIEW_TARGET_PROJECT_ID";
|
||||
|
||||
public static final String REPO_GIT_WEBHOOK_TAG_NAME = "CI_REPO_GIT_WEBHOOK_TAG_NAME";
|
||||
public static final String REPO_GIT_WEBHOOK_TAG_OPERATION = "CI_REPO_GIT_WEBHOOK_TAG_OPERATION";
|
||||
public static final String REPO_GIT_WEBHOOK_TAG_USERNAME = "CI_REPO_GIT_WEBHOOK_TAG_USERNAME";
|
||||
public static final String REPO_GIT_WEBHOOK_TAG_CREATE_FROM = "CI_REPO_GIT_WEBHOOK_TAG_CREATE_FROM";
|
||||
|
||||
public static final String REPO_GITHUB_WEBHOOK_CREATE_REF_NAME = "CI_REPO_GITHUB_WEBHOOK_CREATE_REF_NAME";
|
||||
public static final String REPO_GITHUB_WEBHOOK_CREATE_REF_TYPE = "CI_REPO_GITHUB_WEBHOOK_CREATE_REF_TYPE";
|
||||
public static final String REPO_GITHUB_WEBHOOK_CREATE_USERNAME = "CI_REPO_GITHUB_WEBHOOK_CREATE_USERNAME";
|
||||
|
||||
public static final String REPO_SVN_WEBHOOK_REVERSION = "CI_REPO_SVN_WEBHOOK_REVERSION";
|
||||
public static final String REPO_SVN_WEBHOOK_USERNAME = "CI_REPO_SVN_WEBHOOK_USERNAME";
|
||||
public static final String REPO_SVN_WEBHOOK_COMMIT_TIME = "CI_REPO_SVN_WEBHOOK_COMMIT_TIME";
|
||||
public static final String REPO_SVN_WEBHOOK_RELATIVE_PATH = "CI_REPO_SVN_WEBHOOK_INCLUDE_PATHS";
|
||||
public static final String REPO_SVN_WEBHOOK_EXCLUDE_PATHS = "CI_REPO_SVN_WEBHOOK_EXCLUDE_PATHS";
|
||||
public static final String REPO_SVN_WEBHOOK_INCLUDE_USERS = "CI_REPO_SVN_WEBHOOK_INCLUDE_USERS";
|
||||
public static final String REPO_SVN_WEBHOOK_EXCLUDE_USERS = "CI_REPO_SVN_WEBHOOK_EXCLUDE_USERS";
|
||||
public static final String REPO_SVN_WEBHOOK_FINAL_INCLUDE_PATH = "CI_REPO_SVN_WEBHOOK_FINAL_INCLUDE_PATH";
|
||||
|
||||
public static final String PIPELINE_WEBHOOK_MR_ID = "CI_HOOK_MR_ID"; // hookMergeRequestId
|
||||
public static final String PIPELINE_WEBHOOK_MR_COMMITTER = "CI_HOOK_MR_COMMITTER"; // "hookMergeRequest_committer"
|
||||
public static final String PIPELINE_WEBHOOK_SOURCE_BRANCH = "CI_HOOK_SOURCE_BRANCH"; // hookSourceBranch
|
||||
public static final String PIPELINE_WEBHOOK_TARGET_BRANCH = "CI_HOOK_TARGET_BRANCH"; // hookTargetBranch
|
||||
public static final String PIPELINE_WEBHOOK_SOURCE_PROJECT_ID = "CI_HOOK_SOURCE_PROJECT_ID";
|
||||
public static final String PIPELINE_WEBHOOK_TARGET_PROJECT_ID = "CI_HOOK_TARGET_PROJECT_ID";
|
||||
public static final String PIPELINE_WEBHOOK_SOURCE_REPO_NAME = "CI_HOOK_SOURCE_REPO_NAME";
|
||||
public static final String PIPELINE_WEBHOOK_TARGET_REPO_NAME = "CI_HOOK_TARGET_REPO_NAME";
|
||||
public static final String MATCH_BRANCH = "matchBranch";
|
||||
public static final String MATCH_PATHS = "matchPaths";
|
||||
public static final String GIT_MR_NUMBER = "CI_GIT_MR_NUMBER"; // git_mr_number
|
||||
public static final String GITHUB_PR_NUMBER = "CI_GITHUB_PR_NUMBER"; // github_pr_number
|
||||
|
||||
public static final String REPO_P4_WEBHOOK_P4PORT = "CI_REPO_P4_WEBHOOK_P4PORT";
|
||||
public static final String REPO_P4_WEBHOOK_EVENT_TYPE = "CI_REPO_P4_WEBHOOK_EVENT_TYPE";
|
||||
public static final String REPO_P4_WEBHOOK_INCLUDE_PATHS = "CI_REPO_P4_WEBHOOK_INCLUDE_PATHS";
|
||||
public static final String REPO_P4_WEBHOOK_EXCLUDE_PATHS = "CI_REPO_P4_WEBHOOK_EXCLUDE_PATHS";
|
||||
public static final String REPO_P4_WEBHOOK_CHANGE = "CI_REPO_P4_WEBHOOK_CHANGE";
|
||||
|
||||
public static final String PIPELINE_WEBHOOK_REVISION = "CI_HOOK_REVISION"; // hookRevision
|
||||
public static final String PIPELINE_WEBHOOK_BRANCH = "CI_HOOK_BRANCH"; // hookBranch
|
||||
public static final String PIPELINE_WEBHOOK_SOURCE_URL = "CI_HOOK_SOURCE_URL"; // hookSourceUrl
|
||||
public static final String PIPELINE_WEBHOOK_TARGET_URL = "CI_HOOK_TARGET_URL"; // hookTargetUrl
|
||||
public static final String PIPELINE_WEBHOOK_REPO = "CI_HOOK_REPO"; // hookRepo
|
||||
public static final String PIPELINE_WEBHOOK_REPO_TYPE = "CI_HOOK_REPO_TYPE"; // hookRepoType
|
||||
public static final String PIPELINE_WEBHOOK_BLOCK = "CI_HOOK_BLOCK"; // hookBlock
|
||||
public static final String PIPELINE_WEBHOOK_TYPE = "CI_HOOK_TYPE"; // hookType
|
||||
public static final String PIPELINE_WEBHOOK_EVENT_TYPE = "CI_HOOK_EVENT_TYPE"; // hookEventType
|
||||
public static final String PIPELINE_REPO_NAME = "CI_REPO_NAME"; // "repoName"
|
||||
public static final String PIPELINE_WEBHOOK_COMMIT_MESSAGE = "CI_HOOK_MESSAGE"; // hook message
|
||||
public static final String PIPELINE_START_WEBHOOK_USER_ID = "CI_START_WEBHOOK_USER_ID"; // "pipeline.start.webhook.user.id"
|
||||
public static final String PIPELINE_WEBHOOK_QUEUE = "CI_HOOK_QUEUE";
|
||||
|
||||
// issue事件
|
||||
public static final String REPO_GIT_WEBHOOK_ISSUE_TITLE = "CI_REPO_GIT_WEBHOOK_ISSUE_TITLE";
|
||||
public static final String REPO_GIT_WEBHOOK_ISSUE_ID = "CI_REPO_GIT_WEBHOOK_ISSUE_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_ISSUE_IID = "CI_REPO_GIT_WEBHOOK_ISSUE_IID";
|
||||
public static final String REPO_GIT_WEBHOOK_ISSUE_DESCRIPTION = "CI_REPO_GIT_WEBHOOK_ISSUE_DESCRIPTION";
|
||||
public static final String REPO_GIT_WEBHOOK_ISSUE_STATE = "CI_REPO_GIT_WEBHOOK_ISSUE_STATE";
|
||||
public static final String REPO_GIT_WEBHOOK_ISSUE_OWNER = "CI_REPO_GIT_WEBHOOK_ISSUE_OWNER"; // issue 的负责人
|
||||
public static final String REPO_GIT_WEBHOOK_ISSUE_URL = "CI_REPO_GIT_WEBHOOK_ISSUE_URL";
|
||||
public static final String REPO_GIT_WEBHOOK_ISSUE_MILESTONE_ID = "CI_REPO_GIT_WEBHOOK_ISSUE_MILESTONE_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_ISSUE_ACTION = "CI_REPO_GIT_WEBHOOK_ISSUE_ACTION";
|
||||
|
||||
// note事件
|
||||
public static final String PIPELINE_WEBHOOK_NOTE_COMMENT = "PIPELINE_WEBHOOK_NOTE_COMMENT";
|
||||
public static final String PIPELINE_WEBHOOK_NOTE_ID = "PIPELINE_WEBHOOK_NOTE_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_NOTE_COMMENT = "CI_REPO_GIT_WEBHOOK_NOTE_COMMENT";
|
||||
public static final String REPO_GIT_WEBHOOK_NOTE_ID = "CI_REPO_GIT_WEBHOOK_NOTE_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_NOTE_PROJECT_ID = "CI_REPO_GIT_WEBHOOK_NOTE_PROJECT_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_NOTE_NOTEABLE_TYPE = "CI_REPO_GIT_WEBHOOK_NOTE_NOTEABLE_TYPE";
|
||||
public static final String REPO_GIT_WEBHOOK_NOTE_AUTHOR_ID = "CI_REPO_GIT_WEBHOOK_NOTE_AUTHOR_ID";
|
||||
public static final String REPO_GIT_WEBHOOK_NOTE_CREATED_AT = "CI_REPO_GIT_WEBHOOK_NOTE_CREATED_AT";
|
||||
public static final String REPO_GIT_WEBHOOK_NOTE_UPDATED_AT = "CI_REPO_GIT_WEBHOOK_NOTE_UPDATED_AT";
|
||||
public static final String REPO_GIT_WEBHOOK_NOTE_URL = "CI_REPO_GIT_WEBHOOK_NOTE_URL";
|
||||
}
|
@ -1,108 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.container;
|
||||
|
||||
import cd.casic.ci.common.pipeline.pojo.agent.AgentType;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.container
|
||||
* @Project:ops-pro
|
||||
* @name:AgentReuseMutex
|
||||
* @Date:2025/03/25 16:51
|
||||
* @Filename:AgentReuseMutex
|
||||
* @description: * AgentReuseMutex 构建机复用互斥
|
||||
* * 在同一次构建中总共有五种情况
|
||||
* * 1、单个Agent节点且明确指定了使用某个Agent(AgentId或者AgentName),这种情况在item中可以直接拿到,直接进行项目级的互斥逻辑
|
||||
* * 2、单个Agent节点但使用变量指代Agent
|
||||
* * 2-1、被指代的Agent节点与复用他的Job处在同一Stage下,并行执行,这时被指代的Agent与复用他的Job进行同样的变量替换,
|
||||
* * 并行竞争,没有先后顺序
|
||||
* * 2-2、被指代的Agent节点与复用他的Job处在同一Stage下,串行执行(即流水线的Job依赖),这时被指代的Agent应先于复用他的Job执行,
|
||||
* * 且在Var表中写入可以拿到Agent的只读变量,复用Job读取变量执行
|
||||
* * 3、Agent集群且明确指定了某个集群(集群ID或者名称),在分发到Dispatch前需要进行集群级别的互斥锁逻辑,
|
||||
* * 这样可以保证同样进行互斥逻辑的集群在引擎处进行等待。
|
||||
* * 与单个Agent节点的Job关系相同,并行执行时并行竞争,串行时天然的有先后顺序,读取Var表中节点进行项目级的互斥逻辑
|
||||
* * 4、Agent集群但使用变量指代,与未进行变量指代的逻辑一致,无需特殊声明
|
||||
* * 注:如果是共享集群不受影响,依旧使用执行项目来进行锁定
|
||||
* * @param reUseJobId 如果为空说明当前job为被依赖job
|
||||
* * @param agentOrEnvId agentId/agentName 或者 envId/envName 或者变量,根据 type 区分不同值
|
||||
* * @param type 复用互斥的各种类型
|
||||
* * @param endJob 是否是最后一波的Job
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Schema(title = "构建机复用互斥模型")
|
||||
public class AgentReuseMutex {
|
||||
private String jobId;
|
||||
private String reUseJobId;
|
||||
private String agentOrEnvId;
|
||||
private AgentReuseMutexType type;
|
||||
private Boolean endJob;
|
||||
@Schema(title = "是否排队", required = false)
|
||||
private Boolean queueEnable = true;
|
||||
@Schema(title = "排队等待时间(分钟)0表示不等待直接失败", required = false)
|
||||
private Integer timeout = 900;
|
||||
@Schema(title = "支持变量解析的timeout,变量值非数字则会改取timeout值", required = false)
|
||||
private String timeoutVar;
|
||||
@Schema(title = "排队队列大小", required = false)
|
||||
private Integer queue = 10;
|
||||
@Schema(title = "运行时的agentOrEnvId,如果有值说明已经初始化了", required = false)
|
||||
private String runtimeAgentOrEnvId;
|
||||
@Schema(title = "占用锁定的信息用于日志提示", required = false)
|
||||
private String linkTip;
|
||||
|
||||
public static class Companion {
|
||||
public static final long AGENT_LOCK_TIMEOUT = 60 * 60 * 24 * 7L;
|
||||
public static final String CONTEXT_KEY_SUFFIX = ".container.agent_id";
|
||||
|
||||
public static String genAgentContextKey(String jobId) {
|
||||
return "jobs." + jobId + CONTEXT_KEY_SUFFIX;
|
||||
}
|
||||
|
||||
public static String genAgentReuseMutexLockKey(String projectId, String agentId) {
|
||||
return "lock:agent:reuse:project:" + projectId + ":agent:" + agentId + ":lock";
|
||||
}
|
||||
|
||||
public static String genAgentReuseMutexQueueKey(String projectId, String agentId) {
|
||||
return "lock:agent:reuse:project:" + projectId + ":agent:" + agentId + ":queue";
|
||||
}
|
||||
|
||||
public static String genAgentReuseMutexLinkTipKey(String buildId) {
|
||||
return "agent:reuse:linkTip:" + buildId;
|
||||
}
|
||||
}
|
||||
|
||||
public enum AgentReuseMutexType {
|
||||
AGENT_ID,
|
||||
AGENT_NAME,
|
||||
AGENT_ENV_ID,
|
||||
AGENT_ENV_NAME,
|
||||
AGENT_DEP_VAR;
|
||||
|
||||
public boolean isEnvType() {
|
||||
return this == AGENT_ENV_ID || this == AGENT_ENV_NAME;
|
||||
}
|
||||
|
||||
public boolean isAgentType() {
|
||||
return this == AGENT_ID || this == AGENT_NAME;
|
||||
}
|
||||
|
||||
public boolean needEngineLock() {
|
||||
return isAgentType();
|
||||
}
|
||||
|
||||
public AgentType toAgentType() {
|
||||
switch (this) {
|
||||
case AGENT_ID:
|
||||
case AGENT_ENV_ID:
|
||||
return AgentType.ID;
|
||||
case AGENT_NAME:
|
||||
case AGENT_ENV_NAME:
|
||||
return AgentType.NAME;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,99 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.container;
|
||||
|
||||
import cd.casic.ci.common.pipeline.IModelTemplate;
|
||||
import cd.casic.ci.common.pipeline.pojo.element.Element;
|
||||
import cd.casic.ci.common.pipeline.pojo.time.BuildRecordTimeCost;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.container
|
||||
* @Project:ops-pro
|
||||
* @name:Container
|
||||
* @Date:2025/03/25 16:53
|
||||
* @Filename:Container
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@Schema(title = "流水线模型-多态基类")
|
||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type")
|
||||
@JsonSubTypes({
|
||||
@JsonSubTypes.Type(value = TriggerContainer.class, name = TriggerContainer.classType),
|
||||
@JsonSubTypes.Type(value = NormalContainer.class, name = NormalContainer.classType),
|
||||
@JsonSubTypes.Type(value = VMBuildContainer.class, name = VMBuildContainer.classType)
|
||||
})
|
||||
@Getter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public abstract class Container implements IModelTemplate {
|
||||
protected String id; // seq id
|
||||
protected String name;
|
||||
protected List<Element> elements;
|
||||
protected String status;
|
||||
@Deprecated(since = "即将被timeCost代替")
|
||||
protected Long startEpoch;
|
||||
@Deprecated(since = "即将被timeCost代替")
|
||||
protected Long systemElapsed; // 系统耗时(开机时间)
|
||||
@Deprecated(since = "即将被timeCost代替")
|
||||
protected Long elementElapsed; // 插件执行耗时
|
||||
protected Boolean canRetry; // 当前job是否能重试
|
||||
protected String containerId; // container 流水线唯一ID,同seq id
|
||||
protected String containerHashId; // container 全局唯一ID
|
||||
protected String startVMStatus;
|
||||
protected Integer executeCount;
|
||||
protected String jobId; // 用户自定义id
|
||||
protected Boolean containPostTaskFlag; // 是否包含post任务
|
||||
protected Boolean matrixGroupFlag; // 是否为构建矩阵组
|
||||
protected BuildRecordTimeCost timeCost; // 耗时结果
|
||||
protected Integer startVMTaskSeq; // 开机任务序号
|
||||
|
||||
public void resetBuildOption(int executeCount) {
|
||||
this.status = null;
|
||||
this.timeCost = null;
|
||||
this.startEpoch = null;
|
||||
this.elementElapsed = null;
|
||||
this.systemElapsed = null;
|
||||
this.startVMStatus = null;
|
||||
this.executeCount = executeCount;
|
||||
}
|
||||
|
||||
public void transformCompatibility() {
|
||||
if (elements != null) {
|
||||
elements.forEach(Element::transformCompatibility);
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, Object> genTaskParams() {
|
||||
Map<String, Object> configParams = JSONUtil.parseObj(this).toBean(Map.class);
|
||||
if (elements != null && !elements.isEmpty()) {
|
||||
configParams.put("elements", List.of());
|
||||
}
|
||||
return configParams;
|
||||
}
|
||||
|
||||
public abstract String getClassType();
|
||||
|
||||
public abstract Container getContainerById(String vmSeqId);
|
||||
|
||||
public abstract void retryFreshMatrixOption();
|
||||
|
||||
public abstract List<Container> fetchGroupContainers();
|
||||
|
||||
public abstract Map<String, String> fetchMatrixContext();
|
||||
|
||||
public abstract boolean containerEnabled();
|
||||
|
||||
public abstract void setContainerEnable(boolean enable);
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.container;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.container
|
||||
* @Project:ops-pro
|
||||
* @name:MutexGroup
|
||||
* @Date:2025/03/25 16:54
|
||||
* @Filename:MutexGroup
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Schema(title = "互斥组模型")
|
||||
public class MutexGroup {
|
||||
@Schema(title = "是否启用", required = false)
|
||||
private Boolean enable;
|
||||
@Schema(title = "互斥组名称", required = false)
|
||||
private String mutexGroupName;
|
||||
@Schema(title = "是否排队", required = false)
|
||||
private Boolean queueEnable;
|
||||
@Schema(title = "排队等待时间(分钟)0表示不等待直接失败", required = false)
|
||||
private Integer timeout;
|
||||
@Schema(title = "支持变量解析的timeout,变量值非数字则会改取timeout值", required = false)
|
||||
private String timeoutVar;
|
||||
@Schema(title = "排队队列大小", required = false)
|
||||
private Integer queue;
|
||||
@Schema(title = "运行时实际互斥锁名称(有值则已初始化)", required = false)
|
||||
private String runtimeMutexGroup;
|
||||
@Schema(title = "占用锁定的信息用于日志提示", required = false)
|
||||
private String linkTip;
|
||||
}
|
@ -1,125 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.container;
|
||||
|
||||
import cd.casic.ci.common.pipeline.NameAndValue;
|
||||
import cd.casic.ci.common.pipeline.option.JobControlOption;
|
||||
import cd.casic.ci.common.pipeline.option.MatrixControlOption;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import kotlin.ReplaceWith;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Schema(title = "流水线模型-普通任务容器")
|
||||
public class NormalContainer extends Container {
|
||||
public static final String classType = "normal";
|
||||
|
||||
private Boolean enableSkip = false;
|
||||
|
||||
private List<NameAndValue> conditions;
|
||||
|
||||
private Integer maxQueueMinutes = 60;
|
||||
|
||||
private Integer maxRunningMinutes = 1440;
|
||||
|
||||
private JobControlOption jobControlOption; // 为了兼容旧数据,所以定义为可空以及var
|
||||
private MutexGroup mutexGroup; // 为了兼容旧数据,所以定义为可空以及var
|
||||
private MatrixControlOption matrixControlOption;
|
||||
private String matrixGroupId;
|
||||
private Map<String, String> matrixContext;
|
||||
private List<NormalContainer> groupContainers;
|
||||
|
||||
@Override
|
||||
public String getClassType() {
|
||||
return classType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Container getContainerById(String vmSeqId) {
|
||||
if (vmSeqId.equals(id) || vmSeqId.equals(containerId)) {
|
||||
return this;
|
||||
}
|
||||
List<Container> containers = fetchGroupContainers();
|
||||
if (containers != null) {
|
||||
for (Container container : containers) {
|
||||
if (vmSeqId.equals(container.getId()) || vmSeqId.equals(container.getContainerId())) {
|
||||
return container;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void retryFreshMatrixOption() {
|
||||
groupContainers = null;
|
||||
if (matrixControlOption != null) {
|
||||
matrixControlOption.setFinishCount(null);
|
||||
matrixControlOption.setTotalCount(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Container> fetchGroupContainers() {
|
||||
return groupContainers != null ? List.copyOf(groupContainers) : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> fetchMatrixContext() {
|
||||
return matrixContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containerEnabled() {
|
||||
return jobControlOption == null || jobControlOption.getEnable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setContainerEnable(boolean enable) {
|
||||
jobControlOption = jobControlOption != null ? jobControlOption.setEnable(enable) : new JobControlOption().setEnable(enable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transformCompatibility() {
|
||||
if (jobControlOption != null && (jobControlOption.getTimeoutVar() == null || jobControlOption.getTimeoutVar().isEmpty())) {
|
||||
jobControlOption.setTimeoutVar(String.valueOf(jobControlOption.getTimeout()));
|
||||
}
|
||||
if (mutexGroup != null && (mutexGroup.getTimeoutVar() == null || mutexGroup.getTimeoutVar().isEmpty())) {
|
||||
mutexGroup.setTimeoutVar(String.valueOf(mutexGroup.getTimeout()));
|
||||
}
|
||||
super.transformCompatibility();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplate() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRef() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> getVariables() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTemplate(String template) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRef(String ref) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVariables(Map<String, String> variables) {
|
||||
|
||||
}
|
||||
}
|
@ -1,141 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.container;
|
||||
|
||||
import cd.casic.ci.common.pipeline.IModelTemplate;
|
||||
import cd.casic.ci.common.pipeline.option.StageControlOption;
|
||||
import cd.casic.ci.common.pipeline.pojo.StagePauseCheck;
|
||||
import cd.casic.ci.common.pipeline.pojo.time.BuildRecordTimeCost;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.container
|
||||
* @Project:ops-pro
|
||||
* @name:Stage
|
||||
* @Date:2025/03/25 16:55
|
||||
* @Filename:Stage
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Schema(title = "流水线模型-阶段")
|
||||
public class Stage implements IModelTemplate {
|
||||
@Schema(title = "容器集合", required = true)
|
||||
private List<Container> containers;
|
||||
@Schema(title = "阶段ID (系统标识,用户不可编辑)", required = false)
|
||||
private String id;
|
||||
@Schema(title = "阶段名称", required = true)
|
||||
private String name;
|
||||
@Schema(title = "阶段ID (用户可编辑)", required = false)
|
||||
private String stageIdForUser;
|
||||
@Schema(title = "阶段标签", required = false, readOnly = true)
|
||||
private List<String> tag;
|
||||
@Schema(title = "阶段状态", required = false, readOnly = true)
|
||||
private String status;
|
||||
@Schema(title = "阶段启动时间", required = false, readOnly = true)
|
||||
@Deprecated
|
||||
private Long startEpoch;
|
||||
@Schema(title = "容器运行时间", required = false, readOnly = true)
|
||||
@Deprecated
|
||||
private Long elapsed;
|
||||
@Schema(title = "用户自定义环境变量", required = false)
|
||||
private Map<String, String> customBuildEnv;
|
||||
@Schema(title = "是否启用容器失败快速终止阶段", required = false)
|
||||
private Boolean fastKill;
|
||||
@Schema(title = "标识是否为FinallyStage,每个Model只能包含一个FinallyStage,并且处于最后位置", required = false)
|
||||
private Boolean finallyStage;
|
||||
@Schema(title = "当前Stage是否能重试", required = false)
|
||||
private Boolean canRetry;
|
||||
@Schema(title = "流程控制选项", required = true)
|
||||
private StageControlOption stageControlOption;
|
||||
@Schema(title = "stage准入配置", required = false)
|
||||
private StagePauseCheck checkIn;
|
||||
@Schema(title = "stage准出配置", required = false)
|
||||
private StagePauseCheck checkOut;
|
||||
@Schema(title = "步骤运行次数", required = false, readOnly = true)
|
||||
private Integer executeCount;
|
||||
@Schema(title = "各项耗时", required = true)
|
||||
private BuildRecordTimeCost timeCost;
|
||||
|
||||
public void resetBuildOption(Boolean init) {
|
||||
if (init != null && init) {
|
||||
status = null;
|
||||
startEpoch = null;
|
||||
elapsed = null;
|
||||
}
|
||||
if (checkIn != null) {
|
||||
checkIn.fixReviewGroups(init != null && init);
|
||||
}
|
||||
if (checkOut != null) {
|
||||
checkOut.fixReviewGroups(init != null && init);
|
||||
}
|
||||
if (stageControlOption != null && stageControlOption.getManualTrigger() && checkIn == null) {
|
||||
checkIn = StagePauseCheck.convertControlOption(stageControlOption);
|
||||
}
|
||||
if (finallyStage !=null && finallyStage){
|
||||
canRetry = false;
|
||||
}
|
||||
}
|
||||
|
||||
public Container getContainer(String vmSeqId) {
|
||||
if (containers != null) {
|
||||
for (Container container : containers) {
|
||||
Container foundContainer = container.getContainerById(vmSeqId);
|
||||
if (foundContainer != null) {
|
||||
return foundContainer;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void transformCompatibility() {
|
||||
if (containers != null) {
|
||||
for (Container container : containers) {
|
||||
container.transformCompatibility();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Boolean stageEnabled() {
|
||||
return stageControlOption != null ? stageControlOption.getEnable() : true;
|
||||
}
|
||||
|
||||
public boolean isFinally() {
|
||||
return finallyStage != null && finallyStage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplate() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRef() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> getVariables() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTemplate(String template) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRef(String ref) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVariables(Map<String, String> variables) {
|
||||
|
||||
}
|
||||
}
|
@ -1,142 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.container;
|
||||
|
||||
import cd.casic.ci.common.pipeline.pojo.BuildFormProperty;
|
||||
import cd.casic.ci.common.pipeline.pojo.BuildNo;
|
||||
import cd.casic.ci.common.pipeline.pojo.element.Element;
|
||||
import cd.casic.ci.common.pipeline.pojo.time.BuildRecordTimeCost;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.container
|
||||
* @Project:ops-pro
|
||||
* @name:TriggerContainer
|
||||
* @Date:2025/03/25 16:56
|
||||
* @Filename:TriggerContainer
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Schema(title = "流水线模型-构建触发容器")
|
||||
public class TriggerContainer extends Container {
|
||||
public static final String classType = "trigger";
|
||||
|
||||
@Schema(title = "构建容器序号id", required = false, readOnly = true)
|
||||
private String id;
|
||||
@Schema(title = "容器名称", required = true)
|
||||
private String name;
|
||||
@Schema(title = "任务集合", required = true)
|
||||
private List<Element> elements;
|
||||
@Schema(title = "状态", required = true, readOnly = true)
|
||||
private String status;
|
||||
@Schema(title = "系统运行时间", required = false)
|
||||
@Deprecated
|
||||
private Long startEpoch;
|
||||
@Schema(title = "系统耗时(开机时间)", required = false, readOnly = true)
|
||||
@Deprecated
|
||||
private Long systemElapsed;
|
||||
@Schema(title = "插件执行耗时", required = false, readOnly = true)
|
||||
@Deprecated
|
||||
private Long elementElapsed;
|
||||
@Schema(title = "参数化构建", required = false)
|
||||
private List<BuildFormProperty> params;
|
||||
@Schema(title = "模板参数构建", required = false)
|
||||
private List<BuildFormProperty> templateParams;
|
||||
@Schema(title = "构建版本号", required = false)
|
||||
private BuildNo buildNo;
|
||||
@Schema(title = "是否可重试-仅限于构建详情展示重试,目前未作为编排的选项,暂设置为null不存储", required = false, readOnly = true)
|
||||
private Boolean canRetry;
|
||||
@Schema(title = "构建容器顺序ID(同id值)", required = false, readOnly = true)
|
||||
private String containerId;
|
||||
@Schema(title = "容器唯一ID", required = false, readOnly = true)
|
||||
private String containerHashId;
|
||||
@Schema(title = "构建环境启动状态", required = false, readOnly = true)
|
||||
private String startVMStatus;
|
||||
@Schema(title = "容器运行次数", required = false, readOnly = true)
|
||||
private Integer executeCount;
|
||||
@Schema(title = "用户自定义ID", required = false, hidden = false)
|
||||
private String jobId;
|
||||
@Schema(title = "是否包含post任务标识", required = false, readOnly = true)
|
||||
private Boolean containPostTaskFlag;
|
||||
@Schema(title = "是否为构建矩阵", required = false, readOnly = true)
|
||||
private Boolean matrixGroupFlag;
|
||||
@Schema(title = "各项耗时", required = true)
|
||||
private BuildRecordTimeCost timeCost;
|
||||
@Schema(title = "开机任务序号", required = false, readOnly = true)
|
||||
private Integer startVMTaskSeq;
|
||||
|
||||
@Override
|
||||
public String getClassType() {
|
||||
return classType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Container getContainerById(String vmSeqId) {
|
||||
return id.equals(vmSeqId) ? this : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void retryFreshMatrixOption() {
|
||||
// No operation needed
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Container> fetchGroupContainers() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> fetchMatrixContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containerEnabled() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setContainerEnable(boolean enable) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transformCompatibility() {
|
||||
// No compatibility transformation needed
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplate() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRef() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> getVariables() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTemplate(String template) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRef(String ref) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVariables(Map<String, String> variables) {
|
||||
|
||||
}
|
||||
}
|
@ -1,206 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.container;
|
||||
|
||||
import cd.casic.ci.common.pipeline.NameAndValue;
|
||||
import cd.casic.ci.common.pipeline.enums.VMBaseOS;
|
||||
import cd.casic.ci.common.pipeline.option.JobControlOption;
|
||||
import cd.casic.ci.common.pipeline.option.MatrixControlOption;
|
||||
import cd.casic.ci.common.pipeline.pojo.element.Element;
|
||||
import cd.casic.ci.common.pipeline.pojo.time.BuildRecordTimeCost;
|
||||
import cd.casic.ci.common.pipeline.type.DispatchType;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.container
|
||||
* @Project:ops-pro
|
||||
* @name:VMBuildContainer
|
||||
* @Date:2025/03/25 16:56
|
||||
* @Filename:VMBuildContainer
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Schema(title = "流水线模型-虚拟机构建容器")
|
||||
public class VMBuildContainer extends Container {
|
||||
public static final String classType = "vmBuild";
|
||||
|
||||
@Schema(title = "构建容器序号id", required = false, readOnly = true)
|
||||
private String id;
|
||||
@Schema(title = "容器名称", required = true)
|
||||
private String name = "构建环境";
|
||||
@Schema(title = "任务集合", required = true)
|
||||
private List<Element> elements;
|
||||
@Schema(title = "容器状态", required = false, readOnly = true)
|
||||
private String status;
|
||||
@Schema(title = "系统运行时间", required = false, readOnly = true)
|
||||
@Deprecated
|
||||
private Long startEpoch;
|
||||
@Schema(title = "系统耗时(开机时间)", required = false, readOnly = true)
|
||||
@Deprecated
|
||||
private Long systemElapsed;
|
||||
@Schema(title = "插件执行耗时", required = false, readOnly = true)
|
||||
@Deprecated
|
||||
private Long elementElapsed;
|
||||
@Schema(title = "VM基础操作系统", required = true)
|
||||
private VMBaseOS baseOS;
|
||||
@Schema(title = "预指定VM名称列表", required = true)
|
||||
private Set<String> vmNames;
|
||||
@Schema(title = "排队最长时间(分钟)", required = true)
|
||||
@Deprecated
|
||||
private Integer maxQueueMinutes = 60;
|
||||
@Schema(title = "运行最长时间(分钟)", required = true)
|
||||
@Deprecated
|
||||
private Integer maxRunningMinutes = 480;
|
||||
@Schema(title = "构建机环境变量(容器启动时写入环境)", required = false)
|
||||
private Map<String, String> buildEnv;
|
||||
@Schema(title = "用户自定义环境变量(Agent启动时写入环境)", required = false)
|
||||
@Deprecated
|
||||
private Map<String, String> customBuildEnv;
|
||||
@Schema(title = "用户自定义环境变量(Agent启动时写入环境)", required = false)
|
||||
private List<NameAndValue> customEnv;
|
||||
@Schema(title = "第三方构建Hash ID", required = false)
|
||||
private String thirdPartyAgentId;
|
||||
@Schema(title = "第三方构建环境ID", required = false)
|
||||
private String thirdPartyAgentEnvId;
|
||||
@Schema(title = "第三方构建环境工作空间", required = false)
|
||||
private String thirdPartyWorkspace;
|
||||
@Schema(title = "Docker构建机", required = false)
|
||||
private String dockerBuildVersion;
|
||||
@Schema(title = "TStack Hash Id", required = false)
|
||||
@Deprecated
|
||||
private String tstackAgentId;
|
||||
@Schema(title = "新的选择构建机环境", required = false)
|
||||
private DispatchType dispatchType;
|
||||
@Schema(title = "是否显示构建资源信息", required = false)
|
||||
private Boolean showBuildResource;
|
||||
@Schema(title = "是否访问外网", required = false, readOnly = true)
|
||||
private Boolean enableExternal;
|
||||
@Schema(title = "构建容器顺序ID(同id值)", required = false, readOnly = true)
|
||||
private String containerId;
|
||||
@Schema(title = "容器唯一ID", required = false, readOnly = true)
|
||||
private String containerHashId;
|
||||
@Schema(title = "流程控制选项", required = true)
|
||||
private JobControlOption jobControlOption;
|
||||
@Schema(title = "互斥组", required = false)
|
||||
private MutexGroup mutexGroup;
|
||||
@Schema(title = "构建环境启动状态", required = false, readOnly = true)
|
||||
private String startVMStatus;
|
||||
@Schema(title = "容器运行次数", required = false, readOnly = true)
|
||||
private Integer executeCount;
|
||||
@Schema(title = "用户自定义ID", required = false, hidden = false)
|
||||
private String jobId;
|
||||
@Schema(title = "是否包含post任务标识", required = false, readOnly = true)
|
||||
private Boolean containPostTaskFlag;
|
||||
@Schema(title = "是否为构建矩阵", required = false, readOnly = true)
|
||||
private Boolean matrixGroupFlag;
|
||||
@Schema(title = "各项耗时", required = true)
|
||||
private BuildRecordTimeCost timeCost;
|
||||
@Schema(title = "开机任务序号", required = false, readOnly = true)
|
||||
private Integer startVMTaskSeq;
|
||||
@Schema(title = "构建矩阵配置项", required = false)
|
||||
private MatrixControlOption matrixControlOption;
|
||||
@Schema(title = "所在构建矩阵组的containerHashId(分裂后的子容器特有字段)", required = false)
|
||||
private String matrixGroupId;
|
||||
@Schema(title = "当前矩阵子容器的上下文组合(分裂后的子容器特有字段)", required = false)
|
||||
private Map<String, String> matrixContext;
|
||||
@Schema(title = "分裂后的容器集合(分裂后的父容器特有字段)", required = false)
|
||||
private List<VMBuildContainer> groupContainers;
|
||||
@Schema(title = "nfs挂载开关", required = false, readOnly = true)
|
||||
private Boolean nfsSwitch;
|
||||
|
||||
public Boolean getNfsSwitch() {
|
||||
return nfsSwitch != null ? nfsSwitch : true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getClassType() {
|
||||
return classType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Container getContainerById(String vmSeqId) {
|
||||
if (id.equals(vmSeqId) || containerId.equals(vmSeqId)) return this;
|
||||
if (groupContainers != null) {
|
||||
for (Container container : groupContainers) {
|
||||
if (container.getId().equals(vmSeqId) || container.getContainerId().equals(vmSeqId)) return container;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void retryFreshMatrixOption() {
|
||||
groupContainers = new ArrayList<>();
|
||||
if (matrixControlOption != null) {
|
||||
matrixControlOption.setFinishCount(null);
|
||||
matrixControlOption.setTotalCount(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Container> fetchGroupContainers() {
|
||||
return groupContainers != null ? new ArrayList<>(groupContainers) : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> fetchMatrixContext() {
|
||||
return matrixContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containerEnabled() {
|
||||
return jobControlOption != null ? jobControlOption.getEnable() : true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setContainerEnable(boolean enable) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transformCompatibility() {
|
||||
if (jobControlOption != null && jobControlOption.getTimeoutVar() == null || jobControlOption.getTimeoutVar().isBlank()) {
|
||||
jobControlOption.setTimeoutVar(String.valueOf(jobControlOption.getTimeout()));
|
||||
}
|
||||
if (mutexGroup != null && (mutexGroup.getTimeoutVar() == null || mutexGroup.getTimeoutVar().isBlank())) {
|
||||
mutexGroup.setTimeoutVar(String.valueOf(mutexGroup.getTimeout()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTemplate() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRef() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> getVariables() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTemplate(String template) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRef(String ref) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVariables(Map<String, String> variables) {
|
||||
|
||||
}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.dialect;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.dialect
|
||||
* @Project:ops-pro
|
||||
* @name:ClassicPipelineDialect
|
||||
* @Date:2025/03/27 10:36
|
||||
* @Filename:ClassicPipelineDialect
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class ClassicPipelineDialect implements IPipelineDialect {
|
||||
@Override
|
||||
public String getPipelineDialectType() {
|
||||
return PipelineDialectType.CLASSIC.name();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportUseExpression() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportChineseVarName() {
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.dialect;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.dialect
|
||||
* @Project:ops-pro
|
||||
* @name:ConstrainedPipelineDialect
|
||||
* @Date:2025/03/27 10:36
|
||||
* @Filename:ConstrainedPipelineDialect
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class ConstrainedPipelineDialect implements IPipelineDialect {
|
||||
@Override
|
||||
public String getPipelineDialectType() {
|
||||
return PipelineDialectType.CONSTRAINED.name();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportUseExpression() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportChineseVarName() {
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.dialect;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.dialect
|
||||
* @Project:ops-pro
|
||||
* @name:IPipelineDialect
|
||||
* @Date:2025/03/27 10:35
|
||||
* @Filename:IPipelineDialect
|
||||
* @description:Todo
|
||||
*/
|
||||
public interface IPipelineDialect {
|
||||
String getPipelineDialectType();
|
||||
|
||||
/**
|
||||
* 1. 仅支持双花括号,避免出现 bash 脚本变量在执行前被系统赋值的问题
|
||||
* 2. 流程控制选项、插件入参、Job设置等流水线配置中均可使用函数
|
||||
*/
|
||||
boolean supportUseExpression();
|
||||
/**
|
||||
* 是否支持中文变量名
|
||||
*/
|
||||
boolean supportChineseVarName();
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.dialect;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.dialect
|
||||
* @Project:ops-pro
|
||||
* @name:PipelineDialectType
|
||||
* @Date:2025/03/27 10:36
|
||||
* @Filename:PipelineDialectType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
public enum PipelineDialectType {
|
||||
CLASSIC(new ClassicPipelineDialect()),
|
||||
CONSTRAINED(new ConstrainedPipelineDialect());
|
||||
|
||||
private final IPipelineDialect dialect;
|
||||
|
||||
PipelineDialectType(IPipelineDialect dialect) {
|
||||
this.dialect = dialect;
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.dialect;
|
||||
|
||||
import cd.casic.ci.common.pipeline.enums.ChannelCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.dialect
|
||||
* @Project:ops-pro
|
||||
* @name:PipelineDialectUtil
|
||||
* @Date:2025/03/27 10:36
|
||||
* @Filename:PipelineDialectUtil
|
||||
* @description:Todo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
public class PipelineDialectUtil {
|
||||
public static IPipelineDialect getPipelineDialect(String pipelineDialectType) {
|
||||
return pipelineDialectType != null ? PipelineDialectType.valueOf(pipelineDialectType).getDialect() : PipelineDialectType.CLASSIC.getDialect();
|
||||
}
|
||||
|
||||
public static IPipelineDialect getPipelineDialect(Boolean inheritedDialect, String projectDialect, String pipelineDialect) {
|
||||
return getPipelineDialectType(inheritedDialect, projectDialect, pipelineDialect).getDialect();
|
||||
}
|
||||
|
||||
public static PipelineDialectType getPipelineDialectType(Boolean inheritedDialect, String projectDialect, String pipelineDialect) {
|
||||
if (inheritedDialect == null || inheritedDialect) {
|
||||
if (projectDialect != null) {
|
||||
return PipelineDialectType.valueOf(projectDialect);
|
||||
}
|
||||
} else if (pipelineDialect != null) {
|
||||
return PipelineDialectType.valueOf(pipelineDialect);
|
||||
}
|
||||
return PipelineDialectType.CLASSIC;
|
||||
}
|
||||
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:AgentAction
|
||||
* @Date:2025/03/26 10:13
|
||||
* @Filename:AgentAction
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum AgentAction {
|
||||
OFFLINE,
|
||||
ONLINE;
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:AgentStatus
|
||||
* @Date:2025/03/26 10:13
|
||||
* @Filename:AgentStatus
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@Slf4j
|
||||
@AllArgsConstructor
|
||||
public enum AgentStatus {
|
||||
UN_IMPORT(0), // 未导入,用户刚刚在界面上面生成链接
|
||||
UN_IMPORT_OK(1), // 未导入但是agent状态正常(这个时候还是不能用来当构建机)
|
||||
IMPORT_OK(2), // 用户已经在界面导入并且agent工作正常(构建机只有在这个状态才能正常工作)
|
||||
IMPORT_EXCEPTION(3), // agent异常
|
||||
DELETE(4); // 删除
|
||||
|
||||
private final int status;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.valueOf(status);
|
||||
}
|
||||
|
||||
public static AgentStatus fromStatus(int status) {
|
||||
for (AgentStatus agentStatus : values()) {
|
||||
if (agentStatus.getStatus() == status) {
|
||||
return agentStatus;
|
||||
}
|
||||
}
|
||||
log.error("Unknown agent status(" + status + ")");
|
||||
return AgentStatus.UN_IMPORT;
|
||||
}
|
||||
|
||||
public static boolean isDelete(AgentStatus status) {
|
||||
return status == DELETE;
|
||||
}
|
||||
|
||||
public static boolean isUnImport(AgentStatus status) {
|
||||
return status == UN_IMPORT;
|
||||
}
|
||||
|
||||
public static boolean isImportException(AgentStatus status) {
|
||||
return status == IMPORT_EXCEPTION;
|
||||
}
|
||||
|
||||
public static AgentStatus fromString(String status) {
|
||||
for (AgentStatus agentStatus : values()) {
|
||||
if (agentStatus.name().equals(status)) {
|
||||
return agentStatus;
|
||||
}
|
||||
}
|
||||
log.error("Unknown agent status(" + status + ")");
|
||||
return AgentStatus.UN_IMPORT;
|
||||
}
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
public enum AuthSystemType {
|
||||
// v0权限中心
|
||||
V0_AUTH_TYPE("v0"),
|
||||
|
||||
// v3权限中心
|
||||
V3_AUTH_TYPE("v3"),
|
||||
|
||||
// rbac权限中心
|
||||
RBAC_AUTH_TYPE("rbac");
|
||||
private String value;
|
||||
|
||||
AuthSystemType(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
/**
|
||||
* @Classname StyleEnum
|
||||
* @Description ops类型枚举
|
||||
* @Date 2025/3/18 10:26
|
||||
* @author mianbin
|
||||
*/
|
||||
public enum BkStyleEnum {
|
||||
COMMON_STYLE("^(.|\\r|\\n)*$"),
|
||||
NUMBER_STYLE("[0-9]*$"),
|
||||
CODE_STYLE("^[a-zA-Z_][\\w-()]{0,31}$"),
|
||||
ID_STYLE("^[\\w-]{1,64}$"),
|
||||
NAME_STYLE("^[\\w-\\u4E00-\\u9FBB\\u3400-\\u4DBF\\uF900-\\uFAD9\\u3000-\\u303F\\u2000-\\u206F\\uFF00-\\uFFEF.()\\s]{1,40}$"),
|
||||
STORE_MEMBER_TYPE_STYLE("^ADMIN|DEVELOPER$"),
|
||||
EMAIL_STYLE("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"),
|
||||
AUTH_STYLE("^HTTP|HTTPS|OAUTH|SSH$"),
|
||||
NOTE_STYLE("^[A-Za-z0-9\\u4E00-\\u9FBB\\u3400-\\u4DBF\\uF900-\\uFAD9\\u3000-\\u303F" +
|
||||
"\\u2000-\\u206F\\uFF00-\\uFFEF.。??!!,(),、;;::'‘’“”\"…\\s]{1,256}$"),
|
||||
VISIBILITY_LEVEL_STYLE("^PRIVATE|LOGIN_PUBLIC$"),
|
||||
LANGUAGE_STYLE("^java|python|nodejs|kotilin|golang|c|c++|php|c#$"),
|
||||
BOOLEAN_STYLE("^true|false$"),
|
||||
SCOPE_STYLE("^TEST|PRD|ALL$"),
|
||||
SERVICE_CODE_STYLE("^[a-z][([-a-z-0-9]*[a-z-0-9])?]{0,31}$"),
|
||||
BUILD_NUM_RULE_STYLE("^[\\w-{}() +?.:$\"]{1,256}$"),
|
||||
STORE_FIELD_TYPE_STYLE("^BACKEND|FRONTEND|ALL$"),
|
||||
PAGE_SIZE_STYLE("^100$|^([1-9]|[1-9]\\d)$");
|
||||
|
||||
private final String style;
|
||||
|
||||
BkStyleEnum(String style) {
|
||||
this.style = style;
|
||||
}
|
||||
|
||||
public String getStyle() {
|
||||
return style;
|
||||
}
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:BranchVersionAction
|
||||
* @Date:2025/03/25 17:25
|
||||
* @Filename:BranchVersionAction
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum BranchVersionAction {
|
||||
ACTIVE("活跃分支(可以被代码推送直接更新)"),
|
||||
INACTIVE("不活跃分支(已被发布或已被删除)"),
|
||||
CONFLICT("有冲突分支(落后于主干无法直接合入)");
|
||||
|
||||
private final String statusName;
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:BuildFormPropertyType
|
||||
* @Date:2025/03/25 17:01
|
||||
* @Filename:BuildFormPropertyType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum BuildFormPropertyType {
|
||||
STRING("string"),
|
||||
TEXTAREA("textarea"),
|
||||
ENUM("enum"),
|
||||
DATE("date"),
|
||||
LONG("long"),
|
||||
BOOLEAN("boolean"),
|
||||
SVN_TAG("svn_tag"),
|
||||
GIT_REF("git_ref"),
|
||||
REPO_REF("repo_ref"),
|
||||
MULTIPLE("multiple"),
|
||||
CODE_LIB("code_lib"),
|
||||
CONTAINER_TYPE("container_type"),
|
||||
ARTIFACTORY("artifactory"),
|
||||
SUB_PIPELINE("sub_pipeline"),
|
||||
CUSTOM_FILE("custom_file"),
|
||||
PASSWORD("password"),
|
||||
TEMPORARY("do not storage in database");
|
||||
|
||||
private final String value;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return value;
|
||||
}
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:BuildPropertyType
|
||||
* @Date:2025/03/25 17:01
|
||||
* @Filename:BuildPropertyType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum BuildPropertyType {
|
||||
BUILD;
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
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
|
||||
* @Project:ops-pro
|
||||
* @name:BuildRecordTimeStamp
|
||||
* @Date:2025/03/25 17:02
|
||||
* @Filename:BuildRecordTimeStamp
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BuildRecordTimeStamp {
|
||||
private Long startTime;
|
||||
private Long endTime;
|
||||
|
||||
public long between() {
|
||||
return (endTime != null ? endTime : startTime != null ? startTime : 0) - (startTime != null ? startTime : 0);
|
||||
}
|
||||
|
||||
public void insert2TimeLine(List<BuildRecordTimeLine.Moment> timeline) {
|
||||
if (startTime != null && endTime != null) {
|
||||
timeline.add(new BuildRecordTimeLine.Moment(startTime, endTime));
|
||||
}
|
||||
}
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:BuildReviewType
|
||||
* @Date:2025/03/26 10:15
|
||||
* @Filename:BuildReviewType
|
||||
* @description:Todo
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum BuildReviewType {
|
||||
TASK_REVIEW,
|
||||
STAGE_REVIEW,
|
||||
QUALITY_TASK_REVIEW_PASS,
|
||||
QUALITY_TASK_REVIEW_ABORT,
|
||||
QUALITY_CHECK_IN,
|
||||
QUALITY_CHECK_OUT,
|
||||
TRIGGER_REVIEW;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:BuildScriptType
|
||||
* @Date:2025/03/25 17:02
|
||||
* @Filename:BuildScriptType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum BuildScriptType {
|
||||
PYTHON2,
|
||||
PYTHON3,
|
||||
SHELL,
|
||||
BAT,
|
||||
POWER_SHELL;
|
||||
}
|
@ -1,110 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:BuildStatus
|
||||
* @Date:2025/03/25 17:02
|
||||
* @Filename:BuildStatus
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum BuildStatus {
|
||||
SUCCEED("succeed", true),
|
||||
FAILED("failed", true),
|
||||
CANCELED("canceled", true),
|
||||
RUNNING("running", true),
|
||||
TERMINATE("terminate", true),
|
||||
REVIEWING("reviewing", true),
|
||||
REVIEW_ABORT("reviewAbort", true),
|
||||
REVIEW_PROCESSED("reviewProcessed", true),
|
||||
HEARTBEAT_TIMEOUT("heartbeatTimeout", true),
|
||||
PREPARE_ENV("prepareEnv", true),
|
||||
UNEXEC("unexec", false),
|
||||
SKIP("skip", true),
|
||||
QUALITY_CHECK_FAIL("qualityCheckFail", true),
|
||||
QUEUE("queue", true),
|
||||
LOOP_WAITING("loopWaiting", true),
|
||||
CALL_WAITING("callWaiting", true),
|
||||
TRY_FINALLY("tryFinally", false),
|
||||
QUEUE_TIMEOUT("queueTimeout", true),
|
||||
EXEC_TIMEOUT("execTimeout", true),
|
||||
QUEUE_CACHE("queueCache", true),
|
||||
RETRY("retry", true),
|
||||
PAUSE("pause", true),
|
||||
STAGE_SUCCESS("stageSuccess", true),
|
||||
QUOTA_FAILED("quotaFailed", true),
|
||||
DEPENDENT_WAITING("dependentWaiting", true),
|
||||
QUALITY_CHECK_PASS("qualityCheckPass", true),
|
||||
QUALITY_CHECK_WAIT("qualityCheckWait", true),
|
||||
TRIGGER_REVIEWING("triggerReviewing", true),
|
||||
UNKNOWN("unknown", false);
|
||||
|
||||
private final String statusName;
|
||||
private final boolean visible;
|
||||
|
||||
public boolean isNeverRun() {
|
||||
return this == UNEXEC || this == TRIGGER_REVIEWING;
|
||||
}
|
||||
|
||||
public boolean isFinish() {
|
||||
return isFailure() || isSuccess() || isCancel();
|
||||
}
|
||||
|
||||
public boolean isFailure() {
|
||||
return this == FAILED || isPassiveStop() || isTimeout();
|
||||
}
|
||||
|
||||
public boolean isSuccess() {
|
||||
return this == SUCCEED || this == SKIP || this == REVIEW_PROCESSED || this == QUALITY_CHECK_PASS;
|
||||
}
|
||||
|
||||
public boolean isCancel() {
|
||||
return this == CANCELED;
|
||||
}
|
||||
|
||||
public boolean isSkip() {
|
||||
return this == SKIP;
|
||||
}
|
||||
|
||||
public boolean isTerminate() {
|
||||
return this == TERMINATE;
|
||||
}
|
||||
|
||||
public boolean isRunning() {
|
||||
return this == RUNNING || this == LOOP_WAITING || this == REVIEWING || this == PREPARE_ENV || this == CALL_WAITING || this == PAUSE;
|
||||
}
|
||||
|
||||
public boolean isReview() {
|
||||
return this == REVIEW_ABORT || this == REVIEW_PROCESSED;
|
||||
}
|
||||
|
||||
public boolean isReadyToRun() {
|
||||
return this == QUEUE || this == QUEUE_CACHE || this == RETRY || this == DEPENDENT_WAITING;
|
||||
}
|
||||
|
||||
public boolean isPassiveStop() {
|
||||
return this == TERMINATE || this == REVIEW_ABORT || this == QUALITY_CHECK_FAIL;
|
||||
}
|
||||
|
||||
public boolean isPause() {
|
||||
return this == PAUSE;
|
||||
}
|
||||
|
||||
public boolean isTimeout() {
|
||||
return this == QUEUE_TIMEOUT || this == EXEC_TIMEOUT || this == HEARTBEAT_TIMEOUT;
|
||||
}
|
||||
|
||||
public static BuildStatus parse(String statusName) {
|
||||
try {
|
||||
return statusName == null ? UNKNOWN : BuildStatus.valueOf(statusName);
|
||||
} catch (Exception ignored) {
|
||||
return UNKNOWN;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:BuildTaskStatus
|
||||
* @Date:2025/03/25 17:03
|
||||
* @Filename:BuildTaskStatus
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum BuildTaskStatus {
|
||||
WAIT,
|
||||
END,
|
||||
DO;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:BusTypeEnum
|
||||
* @Date:2025/03/26 10:16
|
||||
* @Filename:BusTypeEnum
|
||||
* @description:Todo
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum BusTypeEnum {
|
||||
PIPELINE,
|
||||
TEMPLATE;
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
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 /*项目禁用*/
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:CertType
|
||||
* @Date:2025/03/25 17:03
|
||||
* @Filename:CertType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CertType {
|
||||
PERSONAL("PERSONAL"),
|
||||
ENTERPRISE("ENTERPRISE");
|
||||
|
||||
private final String value;
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:ChannelCode
|
||||
* @Date:2025/03/25 17:03
|
||||
* @Filename:ChannelCode
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ChannelCode {
|
||||
BS,
|
||||
AM,
|
||||
CODECC,
|
||||
GCLOUD,
|
||||
GIT,
|
||||
GONGFENGSCAN,
|
||||
CODECC_EE;
|
||||
|
||||
public static boolean isNeedAuth(ChannelCode channelCode) {
|
||||
return channelCode == BS;
|
||||
}
|
||||
|
||||
public static boolean webChannel(ChannelCode channelCode) {
|
||||
return channelCode == BS || channelCode == GIT;
|
||||
}
|
||||
|
||||
public static ChannelCode getChannel(String channel) {
|
||||
for (ChannelCode code : values()) {
|
||||
if (code.name().equals(channel)) {
|
||||
return code;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:CharsetType
|
||||
* @Date:2025/03/25 17:03
|
||||
* @Filename:CharsetType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CharsetType {
|
||||
DEFAULT,
|
||||
GB2312,
|
||||
UTF_8,
|
||||
GBK;
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:CheckoutRepositoryType
|
||||
* @Date:2025/03/26 10:16
|
||||
* @Filename:CheckoutRepositoryType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CheckoutRepositoryType {
|
||||
ID,
|
||||
NAME,
|
||||
URL,
|
||||
SELF;
|
||||
|
||||
public static CheckoutRepositoryType parseType(String type) {
|
||||
if (type == null || type.isBlank()) return ID;
|
||||
return valueOf(type);
|
||||
}
|
||||
|
||||
public static boolean skipTimerTriggerChange(String type) {
|
||||
return "URL".equals(type) || "SELF".equals(type);
|
||||
}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:CodePullStrategy
|
||||
* @Date:2025/03/25 17:03
|
||||
* @Filename:CodePullStrategy
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CodePullStrategy {
|
||||
FRESH_CHECKOUT("fresh_checkout"),
|
||||
INCREMENT_UPDATE("increment_update"),
|
||||
REVERT_UPDATE("revert_update");
|
||||
|
||||
private final String value;
|
||||
|
||||
public static CodePullStrategy fromValue(String value) {
|
||||
for (CodePullStrategy strategy : values()) {
|
||||
if (strategy.value.equals(value)) {
|
||||
return strategy;
|
||||
}
|
||||
}
|
||||
throw new IllegalArgumentException("The strategy(" + value + ") is not exist");
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:CodeTargetAction
|
||||
* @Date:2025/03/25 17:04
|
||||
* @Filename:CodeTargetAction
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CodeTargetAction {
|
||||
COMMIT_TO_MASTER("提交到主干"),
|
||||
CHECKOUT_BRANCH_AND_REQUEST_MERGE("新建分支创建MR"),
|
||||
COMMIT_TO_SOURCE_BRANCH("提交到原始版本分支"),
|
||||
COMMIT_TO_SOURCE_BRANCH_AND_REQUEST_MERGE("提交到原始版本分支创建MR"),
|
||||
COMMIT_TO_BRANCH("提交到指定分支");
|
||||
|
||||
private final String desc;
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import cd.casic.framework.commons.core.IntArrayValuable;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @Classname CommonStatusEnum
|
||||
* @Description
|
||||
* @Date 2025/3/18 11:26
|
||||
* @author mianbin
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CommonStatusEnum implements IntArrayValuable {
|
||||
|
||||
ENABLE(0, "开启"),
|
||||
DISABLE(1, "关闭");
|
||||
|
||||
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(CommonStatusEnum::getStatus).toArray();
|
||||
|
||||
/**
|
||||
* 状态值
|
||||
*/
|
||||
private final Integer status;
|
||||
/**
|
||||
* 状态名
|
||||
*/
|
||||
private final String name;
|
||||
|
||||
@Override
|
||||
public int[] array() {
|
||||
return ARRAYS;
|
||||
}
|
||||
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:ContainerMutexStatus
|
||||
* @Date:2025/03/25 17:04
|
||||
* @Filename:ContainerMutexStatus
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ContainerMutexStatus {
|
||||
READY,
|
||||
WAITING,
|
||||
CANCELED,
|
||||
FIRST_LOG;
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:CrudEnum
|
||||
* @Date:2025/03/26 10:16
|
||||
* @Filename:CrudEnum
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CrudEnum {
|
||||
CREATE, // 增加
|
||||
DELETE, // 删除
|
||||
UPDATE, // 更新
|
||||
READ; // 查询
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import cd.casic.framework.commons.core.IntArrayValuable;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @Classname DateIntervalEnum
|
||||
* @Description 时间间隔的枚举
|
||||
* @Date 2025/3/18 11:26
|
||||
* @author mianbin
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DateIntervalEnum implements IntArrayValuable {
|
||||
|
||||
DAY(1, "天"),
|
||||
WEEK(2, "周"),
|
||||
MONTH(3, "月"),
|
||||
QUARTER(4, "季度"),
|
||||
YEAR(5, "年")
|
||||
;
|
||||
|
||||
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(DateIntervalEnum::getInterval).toArray();
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private final Integer interval;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private final String name;
|
||||
|
||||
@Override
|
||||
public int[] array() {
|
||||
return ARRAYS;
|
||||
}
|
||||
|
||||
public static DateIntervalEnum valueOf(Integer interval) {
|
||||
return ArrayUtil.firstMatch(item -> item.getInterval().equals(interval), DateIntervalEnum.values());
|
||||
}
|
||||
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:DependOnType
|
||||
* @Date:2025/03/25 17:04
|
||||
* @Filename:DependOnType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DependOnType {
|
||||
ID,
|
||||
NAME;
|
||||
|
||||
public static DependOnType parse(String type) {
|
||||
if (type == null) return ID;
|
||||
for (DependOnType t : values()) {
|
||||
if (t.name().equals(type)) return t;
|
||||
}
|
||||
return ID;
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:DeployStatus
|
||||
* @Date:2025/03/25 17:12
|
||||
* @Filename:DeployStatus
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DeployStatus {
|
||||
SUCCEED,
|
||||
FAILED,
|
||||
RUNNING,
|
||||
TIMEOUT;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:DockerVersion
|
||||
* @Date:2025/03/25 17:12
|
||||
* @Filename:DockerVersion
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DockerVersion {
|
||||
TLINUX1_2("tlinux1.2"),
|
||||
TLINUX2_2("tlinux2.2"),
|
||||
CUSTOMIZE("customize");
|
||||
|
||||
private final String value;
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.ServiceLoader;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:EnumLoader
|
||||
* @Date:2025/03/26 10:16
|
||||
* @Filename:EnumLoader
|
||||
* @description:Todo
|
||||
*/
|
||||
@Slf4j
|
||||
public class EnumLoader {
|
||||
private static final AtomicBoolean MODIFY = new AtomicBoolean(false);
|
||||
|
||||
public static void enumModified() {
|
||||
if (!MODIFY.compareAndSet(false, true)) {
|
||||
return;
|
||||
}
|
||||
Class<EnumModifier> clazz = EnumModifier.class;
|
||||
ServiceLoader<EnumModifier> fetcheries = ServiceLoader.load(clazz);
|
||||
if (!fetcheries.iterator().hasNext()) {
|
||||
fetcheries = ServiceLoader.load(clazz, ServiceLoader.class.getClassLoader());
|
||||
}
|
||||
fetcheries.forEach(modifier -> {
|
||||
log.info("[ENUM MODIFIER]: " + modifier);
|
||||
try {
|
||||
modifier.modified();
|
||||
} catch (Exception e) {
|
||||
log.error("[ENUM MODIFIER]| load fail| " + e.getMessage(), e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:EnumModifier
|
||||
* @Date:2025/03/26 10:17
|
||||
* @Filename:EnumModifier
|
||||
* @description:Todo
|
||||
*/
|
||||
public interface EnumModifier {
|
||||
void modified();
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:EnvControlTaskType
|
||||
* @Date:2025/03/25 17:12
|
||||
* @Filename:EnvControlTaskType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EnvControlTaskType {
|
||||
VM,
|
||||
NORMAL;
|
||||
|
||||
public static EnvControlTaskType parse(String type) {
|
||||
try {
|
||||
return EnvControlTaskType.valueOf(type);
|
||||
} catch (Exception ignore) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
/**
|
||||
* @author by mianbin
|
||||
* @Classname ErrorCode
|
||||
* @Description TODO
|
||||
* @Date 2025/4/1 15:00
|
||||
*/
|
||||
public class ErrorCode {
|
||||
// 蓝盾系统错误
|
||||
public static final int SYSTEM_DAEMON_INTERRUPTED = 2189500; // 守护进程中断
|
||||
public static final int SYSTEM_SERVICE_ERROR = 2189501; // 系统内部服务调用出错
|
||||
public static final int SYSTEM_OUTTIME_ERROR = 2189502; // 执行请求超时
|
||||
public static final int SYSTEM_WORKER_LOADING_ERROR = 2189503; // worker插件加载出错
|
||||
public static final int SYSTEM_WORKER_INITIALIZATION_ERROR = 2189504; // 构建机拉起出错
|
||||
public static final int SYSTEM_INNER_TASK_ERROR = 2189505; // 系统任务执行出错
|
||||
// 第三方接入平台错误
|
||||
public static final int THIRD_PARTY_INTERFACE_ERROR = 2199501; // 第三方接口调用错误
|
||||
public static final int THIRD_PARTY_BUILD_ENV_ERROR = 2199502; // 第三方构建环境错误
|
||||
// 插件执行错误
|
||||
public static final int PLUGIN_DEFAULT_ERROR = 2199001; // 插件异常默认
|
||||
// 用户使用错误
|
||||
public static final int USER_INPUT_INVAILD = 2199002; // 用户输入数据有误
|
||||
public static final int USER_RESOURCE_NOT_FOUND = 2199003; // 找不到对应系统资源
|
||||
public static final int USER_TASK_OPERATE_FAIL = 2199004; // 插件执行过程出错
|
||||
public static final int USER_JOB_OUTTIME_LIMIT = 2199005; // 用户Job排队超时(自行限制)
|
||||
public static final int USER_TASK_OUTTIME_LIMIT = 2199006; // 用户插件执行超时(自行限制)
|
||||
public static final int USER_QUALITY_CHECK_FAIL = 2199007; // 质量红线检查失败
|
||||
public static final int USER_SCRIPT_COMMAND_INVAILD = 2199009; // 脚本命令无法正常执行
|
||||
public static final int USER_STAGE_FASTKILL_TERMINATE = 2199010; // 因用户配置了FastKill导致的终止执行
|
||||
public static final int USER_SCRIPT_TASK_FAIL = 2199011; // bash脚本发生用户错误
|
||||
|
||||
private ErrorCode() {
|
||||
// 私有构造函数,防止实例化
|
||||
}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:FrontendTypeEnum
|
||||
* @Date:2025/03/26 10:26
|
||||
* @Filename:FrontendTypeEnum
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum FrontendTypeEnum {
|
||||
HISTORY("1.0"), // 历史老插件UI
|
||||
NORMAL("1.1"), // 官方提供典型的插件UI配置方式
|
||||
SPECIAL("1.2"); // 定制插件UI方式
|
||||
|
||||
private final String typeVersion;
|
||||
|
||||
public static FrontendTypeEnum getFrontendTypeObj(String typeVersion) {
|
||||
for (FrontendTypeEnum frontendTypeEnum : values()) {
|
||||
if (frontendTypeEnum.getTypeVersion().equals(typeVersion)) {
|
||||
return frontendTypeEnum;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:GitPullModeType
|
||||
* @Date:2025/03/25 17:13
|
||||
* @Filename:GitPullModeType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum GitPullModeType {
|
||||
BRANCH,
|
||||
TAG,
|
||||
COMMIT_ID;
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:JobRunCondition
|
||||
* @Date:2025/03/25 17:13
|
||||
* @Filename:JobRunCondition
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum JobRunCondition {
|
||||
STAGE_RUNNING,
|
||||
CUSTOM_VARIABLE_MATCH,
|
||||
CUSTOM_VARIABLE_MATCH_NOT_RUN,
|
||||
CUSTOM_CONDITION_MATCH,
|
||||
PREVIOUS_STAGE_SUCCESS,
|
||||
PREVIOUS_STAGE_FAILED,
|
||||
PREVIOUS_STAGE_CANCEL;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:ManualReviewAction
|
||||
* @Date:2025/03/25 17:13
|
||||
* @Filename:ManualReviewAction
|
||||
* @description:Todo
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ManualReviewAction {
|
||||
PROCESS,
|
||||
ABORT;
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:OSType
|
||||
* @Date:2025/03/26 10:27
|
||||
* @Filename:OSType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum OSType {
|
||||
WINDOWS,
|
||||
LINUX,
|
||||
MAC_OS,
|
||||
OTHER;
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:PipelineInstanceTypeEnum
|
||||
* @Date:2025/03/25 17:13
|
||||
* @Filename:PipelineInstanceTypeEnum
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum PipelineInstanceTypeEnum {
|
||||
FREEDOM("FREEDOM"),
|
||||
CONSTRAINT("CONSTRAINT");
|
||||
|
||||
private final String type;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public static String getTemplateType(String type) {
|
||||
return switch (type) {
|
||||
case "FREEDOM" -> PipelineInstanceTypeEnum.FREEDOM.name();
|
||||
case "CONSTRAINT" -> PipelineInstanceTypeEnum.CONSTRAINT.name();
|
||||
default -> PipelineInstanceTypeEnum.FREEDOM.name();
|
||||
};
|
||||
}
|
||||
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:PipelineStorageType
|
||||
* @Date:2025/03/25 17:13
|
||||
* @Filename:PipelineStorageType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum PipelineStorageType {
|
||||
YAML("YAML编排", ".yaml"),
|
||||
MODEL("JSON编排", ".json");
|
||||
|
||||
private final String desc;
|
||||
private final String fileSuffix;
|
||||
|
||||
public static PipelineStorageType getActionType(String type) {
|
||||
return "YAML".equals(type) ? YAML : MODEL;
|
||||
}
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:Platform
|
||||
* @Date:2025/03/25 17:16
|
||||
* @Filename:Platform
|
||||
* @description:Todo
|
||||
*/
|
||||
public enum Platform {
|
||||
ANDROID,
|
||||
IPHONE;
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:ProjectPipelineCallbackStatus
|
||||
* @Date:2025/03/25 17:17
|
||||
* @Filename:ProjectPipelineCallbackStatus
|
||||
* @description:Todo
|
||||
*/
|
||||
public enum ProjectPipelineCallbackStatus {
|
||||
SUCCESS,
|
||||
FAILED
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author by mianbin
|
||||
* @Classname RepoYamlSyncStatusEnum
|
||||
* @Description TODO
|
||||
* @Date 2025/4/1 20:13
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum RepoYamlSyncStatusEnum {
|
||||
// 同步中
|
||||
SYNC("SYNC"),
|
||||
// 同步成功
|
||||
SUCCEED("SUCCEED"),
|
||||
// 同步失败
|
||||
FAILED("FAILED");
|
||||
|
||||
private final String value;
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import cd.casic.framework.commons.exception.ServerException;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.net.URLEncoder;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:RepositoryConfig
|
||||
* @Date:2025/03/26 10:27
|
||||
* @Filename:RepositoryConfig
|
||||
* @description:Todo
|
||||
*/
|
||||
@Data
|
||||
@Slf4j
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class RepositoryConfig {
|
||||
private String repositoryHashId;
|
||||
@Schema(title = "新版的git代码库名")
|
||||
private String repositoryName;
|
||||
@Schema(title = "新版的git插件的类型")
|
||||
private RepositoryType repositoryType;
|
||||
|
||||
public RepositoryConfig(String repositoryHashId, String repositoryName, TriggerRepositoryType triggerRepositoryType, String selfRepoHashId) {
|
||||
this.repositoryHashId = triggerRepositoryType == TriggerRepositoryType.SELF ? selfRepoHashId : repositoryHashId;
|
||||
this.repositoryName = repositoryName;
|
||||
this.repositoryType = TriggerRepositoryType.toRepositoryType(triggerRepositoryType) != null ? TriggerRepositoryType.toRepositoryType(triggerRepositoryType) : RepositoryType.ID;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public String getRepositoryId() {
|
||||
switch (repositoryType) {
|
||||
case ID:
|
||||
if (repositoryHashId == null || repositoryHashId.isBlank()) {
|
||||
throw new ServerException(-1000, "代码库HashId为空");
|
||||
}
|
||||
return repositoryHashId;
|
||||
case NAME:
|
||||
if (repositoryName == null || repositoryName.isBlank()) {
|
||||
throw new ServerException(-1000, "代码库名为空");
|
||||
}
|
||||
return repositoryName;
|
||||
default:
|
||||
throw new ServerException(-1000, "未知的代码库类型");
|
||||
}
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public String getURLEncodeRepositoryId() {
|
||||
try {
|
||||
return URLEncoder.encode(getRepositoryId(), "UTF-8");
|
||||
} catch (Exception e) {
|
||||
throw new ServerException(-1000, "编码失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "[repositoryHashId=" + repositoryHashId + ", repositoryName=" + repositoryName + ", repositoryType=" + repositoryType + "]";
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:RepositoryType
|
||||
* @Date:2025/03/26 10:29
|
||||
* @Filename:RepositoryType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum RepositoryType {
|
||||
ID,
|
||||
NAME;
|
||||
|
||||
public static RepositoryType parseType(String type) {
|
||||
if (type == null || type.isBlank()) return ID;
|
||||
return RepositoryType.valueOf(type);
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:RequestChannelTypeEnum
|
||||
* @Date:2025/03/26 10:30
|
||||
* @Filename:RequestChannelTypeEnum
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum RequestChannelTypeEnum {
|
||||
USER,
|
||||
SERVICE,
|
||||
BUILD,
|
||||
OP,
|
||||
OPEN,
|
||||
API;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:SVNVersion
|
||||
* @Date:2025/03/25 17:24
|
||||
* @Filename:SVNVersion
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum SVNVersion {
|
||||
V_1_6(10),
|
||||
V_1_7(29),
|
||||
V_1_8(31);
|
||||
|
||||
private final int version;
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:ScmCode
|
||||
* @Date:2025/03/26 10:30
|
||||
* @Filename:ScmCode
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ScmCode {
|
||||
GITEA("GITEA", "GITEA"), // 内部Gitea
|
||||
GITHUB("GITHUB", "GITHUB"), // github
|
||||
GITLAB("GITLAB", "GITLAB"); // github
|
||||
|
||||
private final String scmName;
|
||||
private final String value;
|
||||
|
||||
public ScmType convertScmType() {
|
||||
switch (this) {
|
||||
case GITEA:
|
||||
return ScmType.CODE_GIT;
|
||||
case GITHUB:
|
||||
return ScmType.GITHUB;
|
||||
case GITLAB:
|
||||
return ScmType.CODE_TGIT;
|
||||
default:
|
||||
throw new IllegalArgumentException("Unknown ScmCode: " + this);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
@AllArgsConstructor
|
||||
public enum ScmType {
|
||||
CODE_SVN("svn"),
|
||||
CODE_GIT("git"),
|
||||
CODE_GITLAB("gitlab"),
|
||||
GITHUB("github"),
|
||||
CODE_TGIT("tgit"),
|
||||
CODE_P4("p4");
|
||||
|
||||
private final String alias;
|
||||
|
||||
public static Short parse(ScmType type) {
|
||||
switch (type) {
|
||||
case CODE_SVN:
|
||||
return 1;
|
||||
case CODE_GIT:
|
||||
return 2;
|
||||
case CODE_GITLAB:
|
||||
return 3;
|
||||
case GITHUB:
|
||||
return 4;
|
||||
case CODE_TGIT:
|
||||
return 5;
|
||||
case CODE_P4:
|
||||
return 6;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static ScmType parse(String alias) {
|
||||
if (alias == null || alias.isBlank()) return null;
|
||||
for (ScmType scmType : values()) {
|
||||
if (scmType.alias.equals(alias)) {
|
||||
return scmType;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:SourceType
|
||||
* @Date:2025/03/25 17:26
|
||||
* @Filename:SourceType
|
||||
* @description:Todo
|
||||
*/
|
||||
public enum SourceType {
|
||||
PIPELINE,
|
||||
CUSTOMIZE
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:StageRunCondition
|
||||
* @Date:2025/03/25 17:17
|
||||
* @Filename:StageRunCondition
|
||||
* @description:运行选项
|
||||
*/
|
||||
public enum StageRunCondition {
|
||||
AFTER_LAST_FINISHED, // 上个阶段执行结束
|
||||
CUSTOM_VARIABLE_MATCH, // 自定义变量全部满足时运行
|
||||
CUSTOM_VARIABLE_MATCH_NOT_RUN, // 自定义变量全部满足时不运行
|
||||
CUSTOM_CONDITION_MATCH // 满足以下自定义条件时运行
|
||||
;
|
||||
}
|
@ -1,102 +0,0 @@
|
||||
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
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:StartType
|
||||
* @Date:2025/03/25 17:23
|
||||
* @Filename:StartType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum StartType {
|
||||
MANUAL,
|
||||
TIME_TRIGGER,
|
||||
WEB_HOOK,
|
||||
SERVICE,
|
||||
PIPELINE,
|
||||
REMOTE;
|
||||
|
||||
public static String toReadableString(String type, ChannelCode channelCode, String language) {
|
||||
String[] params = null;
|
||||
String name = switch (type) {
|
||||
case "MANUAL" -> MANUAL.name();
|
||||
case "TIME_TRIGGER" -> TIME_TRIGGER.name();
|
||||
case "WEB_HOOK" -> WEB_HOOK.name();
|
||||
case "REMOTE" -> REMOTE.name();
|
||||
case "SERVICE" -> {
|
||||
if (channelCode != null) {
|
||||
if (channelCode == ChannelCode.BS) {
|
||||
yield SERVICE.name() + "_BS";
|
||||
} else {
|
||||
params = new String[]{channelCode.name()};
|
||||
yield SERVICE.name() + "_CHANNEL";
|
||||
}
|
||||
} else {
|
||||
yield SERVICE.name() + "_NOT_CHANNEL";
|
||||
}
|
||||
}
|
||||
case "PIPELINE" -> PIPELINE.name();
|
||||
default -> "";
|
||||
};
|
||||
|
||||
return name.isBlank() ? name : MessageFormat.format("START_TYPE_" + name, language, params);
|
||||
}
|
||||
|
||||
public static StartType toStartType(String type) {
|
||||
for (StartType startType : values()) {
|
||||
if (type.equalsIgnoreCase(startType.name())) {
|
||||
return startType;
|
||||
}
|
||||
}
|
||||
LoggerFactory.getLogger(StartType.class).warn("Unknown start type(" + type + ")");
|
||||
return MANUAL;
|
||||
}
|
||||
|
||||
public static List<IdValue> getStartTypeMap(String language) {
|
||||
List<IdValue> result = new ArrayList<>();
|
||||
for (StartType startType : values()) {
|
||||
result.add(new IdValue(startType.name(), toReadableString(startType.name(), null, language)));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static String transform(String startType, String webhookType) {
|
||||
return switch (startType) {
|
||||
case "MANUAL" -> ManualTriggerElement.classType;
|
||||
case "TIME_TRIGGER" -> TimerTriggerElement.classType;
|
||||
case "WEB_HOOK" -> {
|
||||
yield switch (webhookType) {
|
||||
case "SVN" -> CodeSVNWebHookTriggerElement.classType;
|
||||
case "GIT" -> CodeGitWebHookTriggerElement.classType;
|
||||
case "GITLAB" -> CodeGitlabWebHookTriggerElement.classType;
|
||||
case "GITHUB" -> CodeGithubWebHookTriggerElement.classType;
|
||||
case "TGIT" -> CodeTGitWebHookTriggerElement.classType;
|
||||
default -> RemoteTriggerElement.classType;
|
||||
};
|
||||
}
|
||||
default -> RemoteTriggerElement.classType;
|
||||
};
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
static class IdValue {
|
||||
private String id;
|
||||
private String value;
|
||||
}
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
|
||||
/**
|
||||
* @Classname SubjectScopeType
|
||||
* @Description 最大授权范围类型,这里先这样,后面要扩展
|
||||
* @Date 2025/3/18 11:26
|
||||
* @author mianbin
|
||||
*/
|
||||
public enum SubjectScopeType {
|
||||
//院、所、中心
|
||||
ORGANIZATION("organization"),
|
||||
// 部门、事业部、产线
|
||||
DEPARTMENT("depart"),
|
||||
// 用户
|
||||
USER("user");
|
||||
|
||||
private final String value;
|
||||
|
||||
SubjectScopeType(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:SvnDepth
|
||||
* @Date:2025/03/25 17:24
|
||||
* @Filename:SvnDepth
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum SvnDepth {
|
||||
empty,
|
||||
files,
|
||||
immediates,
|
||||
infinity;
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
/**
|
||||
* @author mianbin
|
||||
* @Classname SystemModuleEnum
|
||||
* @Description 最大授权范围类型,这里先这样,后面要扩展
|
||||
* @Date 2025/3/18 11:26
|
||||
*/
|
||||
public enum SystemModuleEnum {
|
||||
COMMON("00"), // 公共模块
|
||||
PROCESS("01"), // 流水线
|
||||
ARTIFACTORY("02"), // 版本仓库
|
||||
DISPATCH("03"), // 公共模块
|
||||
DOCKERHOST("04"), // DOCKER机器
|
||||
ENVIRONMENT("05"), // 环境
|
||||
EXPERIENCE("06"), // 版本体验
|
||||
IMAGE("07"), // 镜像
|
||||
LOG("08"), // 日志
|
||||
MEASURE("09"), // 度量
|
||||
MONITORING("10"), // 监控
|
||||
NOTIFY("11"), // 通知
|
||||
OPENAPI("12"), // 开放平台API
|
||||
PLUGIN("13"), // 插件
|
||||
QUALITY("14"), // 质量红线
|
||||
REPOSITORY("15"), // 代码库
|
||||
SCM("16"), // 软件配置管理
|
||||
SUPPORT("17"), // 支撑服务
|
||||
TICKET("18"), // 证书凭据
|
||||
PROJECT("19"), // 项目管理
|
||||
STORE("20"), // 商店
|
||||
AUTH("21"), // 权限
|
||||
SIGN("22"), // 签名服务
|
||||
METRICS("23"), // 度量服务
|
||||
EXTERNAL("24"), // 外部扩展
|
||||
PREBUILD("25"), // 预构建
|
||||
DISPATCH_KUBERNETES("26"), // k8s分发服务
|
||||
BUILDLESS("27"), // buildless服务
|
||||
LAMBDA("28"), // lambda服务
|
||||
STREAM("29"), // stream服务
|
||||
WORKER("30"), // 度量服务
|
||||
DISPATCH_DOCKER("31"), // docker分发服务
|
||||
REMOTEDEV("32"); // 远程开发服务
|
||||
|
||||
private final String code;
|
||||
|
||||
SystemModuleEnum(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public static String getSystemModule(String code) {
|
||||
for (SystemModuleEnum value : values()) {
|
||||
if (value.getCode().equals(code)) {
|
||||
return value.name();
|
||||
}
|
||||
}
|
||||
return COMMON.name();
|
||||
}
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:TaskStatusEnum
|
||||
* @Date:2025/03/26 10:50
|
||||
* @Filename:TaskStatusEnum
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum TaskStatusEnum {
|
||||
INIT,
|
||||
HANDING,
|
||||
FAIL,
|
||||
SUCCESS,
|
||||
PENDING_ROLLBACK,
|
||||
ROLLBACKING,
|
||||
ROLLBACK_SUCCESS,
|
||||
ROLLBACK_FAIL;
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.pipeline.enums
|
||||
* @Project:ops-pro
|
||||
* @name:TclsType
|
||||
* @Date:2025/03/25 17:24
|
||||
* @Filename:TclsType
|
||||
* @description:Todo
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum TclsType {
|
||||
TCLS,
|
||||
MTCLS,
|
||||
MTCLS2;
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
package cd.casic.ci.common.pipeline.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Author:mianbin
|
||||
* @Package:cd.casic.ci.common.api.enums
|
||||
* @Project:ops-pro
|
||||
* @name:TriggerRepositoryType
|
||||
* @Date:2025/03/26 10:51
|
||||
* @Filename:TriggerRepositoryType
|
||||
* @description:Todo
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum TriggerRepositoryType {
|
||||
ID,
|
||||
NAME,
|
||||
SELF,
|
||||
NONE;
|
||||
|
||||
public static RepositoryType toRepositoryType(TriggerRepositoryType type) {
|
||||
switch (type) {
|
||||
case ID:
|
||||
case SELF:
|
||||
return RepositoryType.ID;
|
||||
case NAME:
|
||||
return RepositoryType.NAME;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user