大声道撒旦

This commit is contained in:
dengqichen 2024-12-27 13:39:58 +08:00
parent 267afbf468
commit fe6de5720a
4 changed files with 37 additions and 36 deletions

View File

@ -1,5 +1,6 @@
package com.qqchen.deploy.backend.deploy.dto.variables; package com.qqchen.deploy.backend.deploy.dto.variables;
import com.qqchen.deploy.backend.workflow.annotation.CodeEditorConfig;
import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty;
import lombok.Data; import lombok.Data;
@ -17,4 +18,34 @@ public class JenkinsBaseBuildVariables {
) )
private String branch; private String branch;
@SchemaProperty(
title = "构建产物路径",
description = "构建产物路径",
order = 2
)
private String artifactPath;
@SchemaProperty(
title = "Pipeline script",
description = "流水线脚本",
required = true,
format = "monaco-editor", // 使用 Monaco Editor
defaultValue = "#!/bin/bash\n\necho \"Hello World\"",
codeEditor = @CodeEditorConfig(
language = "shell",
theme = "vs-dark",
minimap = false,
lineNumbers = true,
wordWrap = true,
fontSize = 14,
tabSize = 2,
autoComplete = true,
folding = true
),
order = 3
)
private String script;
} }

View File

@ -1,7 +1,5 @@
package com.qqchen.deploy.backend.deploy.dto.variables; package com.qqchen.deploy.backend.deploy.dto.variables;
import com.qqchen.deploy.backend.workflow.annotation.CodeEditorConfig;
import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty;
import lombok.Data; import lombok.Data;
@ -12,34 +10,5 @@ import lombok.Data;
public class JenkinsJavaBuildVariables extends JenkinsBaseBuildVariables { public class JenkinsJavaBuildVariables extends JenkinsBaseBuildVariables {
@SchemaProperty(
title = "构建产物路径",
description = "构建产物路径",
order = 2
)
private String artifactPath;
@SchemaProperty(
title = "Pipeline script",
description = "流水线脚本",
required = true,
format = "monaco-editor", // 使用 Monaco Editor
defaultValue = "#!/bin/bash\n\necho \"Hello World\"",
codeEditor = @CodeEditorConfig(
language = "shell",
theme = "vs-dark",
minimap = false,
lineNumbers = true,
wordWrap = true,
fontSize = 14,
tabSize = 2,
autoComplete = true,
folding = true
),
order = 3
)
private String script;
} }

View File

@ -2,6 +2,7 @@ package com.qqchen.deploy.backend.deploy.enums;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
import com.qqchen.deploy.backend.deploy.dto.variables.JenkinsJavaBuildVariables; import com.qqchen.deploy.backend.deploy.dto.variables.JenkinsJavaBuildVariables;
import com.qqchen.deploy.backend.deploy.dto.variables.JenkinsNodeJsBuildVariables;
import lombok.Getter; import lombok.Getter;
/** /**
@ -21,7 +22,7 @@ public enum BuildTypeEnum {
}, },
new Class[] { new Class[] {
JenkinsJavaBuildVariables.class, JenkinsJavaBuildVariables.class,
null, JenkinsNodeJsBuildVariables.class,
null, null,
null null
}, },

View File

@ -56,17 +56,17 @@ public class DeployAppConfigServiceImpl extends BaseServiceImpl<DeployAppConfig,
for (BuildTypeEnum buildType : BuildTypeEnum.values()) { for (BuildTypeEnum buildType : BuildTypeEnum.values()) {
try { try {
BuildConfigDefinedDTO definedDTO = new BuildConfigDefinedDTO();
definedDTO.setCode(buildType.getCode());
definedDTO.setName(buildType.getName());
// 获取支持的语言和对应的构建变量类 // 获取支持的语言和对应的构建变量类
DevelopmentLanguageTypeEnum[] languages = buildType.getSupportedLanguages(); DevelopmentLanguageTypeEnum[] languages = buildType.getSupportedLanguages();
Class<?>[] buildVariablesClasses = buildType.getBuildVariables(); Class<?>[] buildVariablesClasses = buildType.getBuildVariables();
definedDTO.setBuildType(buildType);
// 如果支持的语言不为空则处理每种语言对应的Schema // 如果支持的语言不为空则处理每种语言对应的Schema
if (languages != null && buildVariablesClasses != null) { if (languages != null && buildVariablesClasses != null) {
for (int i = 0; i < languages.length; i++) { for (int i = 0; i < languages.length; i++) {
if (buildVariablesClasses[i] != null) { if (buildVariablesClasses[i] != null) {
BuildConfigDefinedDTO definedDTO = new BuildConfigDefinedDTO();
definedDTO.setCode(buildType.getCode());
definedDTO.setName(buildType.getName());
definedDTO.setBuildType(buildType);
definedDTO.setLanguageType(languages[i]); definedDTO.setLanguageType(languages[i]);
definedDTO.setBuildVariablesSchema(generateSchema(buildVariablesClasses[i])); definedDTO.setBuildVariablesSchema(generateSchema(buildVariablesClasses[i]));
result.add(definedDTO); result.add(definedDTO);