From 8155dc3eb9f102f8574c201091ba293df0e655de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=9A=E8=BE=B0=E5=85=88=E7=94=9F?= Date: Sun, 8 Dec 2024 20:49:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=84=9A=E6=9C=AC=E9=80=82?= =?UTF-8?q?=E9=85=8D=E5=B7=A5=E5=8E=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V1.0.1__init_data.sql | 147 +++++------------- 1 file changed, 35 insertions(+), 112 deletions(-) diff --git a/backend/src/main/resources/db/migration/V1.0.1__init_data.sql b/backend/src/main/resources/db/migration/V1.0.1__init_data.sql index c0b38ef6..cbdc6e66 100644 --- a/backend/src/main/resources/db/migration/V1.0.1__init_data.sql +++ b/backend/src/main/resources/db/migration/V1.0.1__init_data.sql @@ -296,67 +296,28 @@ true, NOW(), 'system', NOW(), 'system', 1, false), true, NOW(), 'system', NOW(), 'system', 1, false), -- 任务节点类型 -(2003, 'SCRIPT', '脚本执行节点', '执行各种脚本语言的节点', 'TASK', 'code', '#13c2c2', +(2003, 'SHELL', 'Shell脚本节点', '执行Shell脚本的任务节点', 'TASK', 'code', '#1890ff', '[{ - "code": "SCRIPT", - "name": "脚本执行器", - "description": "支持执行多种脚本语言(Shell、Python、JavaScript等)", - "supportedLanguages": ["shell"], + "code": "SHELL", + "name": "Shell脚本执行器", + "description": "执行Shell脚本,支持配置超时时间和工作目录", "configSchema": { "type": "object", - "required": ["name", "script", "language"], + "required": ["script"], "properties": { - "name": { - "type": "string", - "title": "节点名称", - "minLength": 1, - "maxLength": 50 - }, - "description": { - "type": "string", - "title": "节点描述", - "maxLength": 200 - }, "script": { "type": "string", "title": "脚本内容", - "format": "script", - "description": "需要执行的脚本内容" + "format": "shell", + "description": "需要执行的Shell脚本内容" }, - "language": { - "type": "string", - "title": "脚本语言", - "enum": ["shell", "python", "javascript", "groovy"], - "enumNames": ["Shell脚本 (已支持)", "Python脚本 (开发中)", "JavaScript脚本 (开发中)", "Groovy脚本 (开发中)"], - "default": "shell", - "description": "脚本语言类型", - "oneOf": [ - { - "const": "shell", - "title": "Shell脚本" - }, - { - "const": "python", - "title": "Python脚本", - "readOnly": true - }, - { - "const": "javascript", - "title": "JavaScript脚本", - "readOnly": true - }, - { - "const": "groovy", - "title": "Groovy脚本", - "readOnly": true - } - ] - }, - "interpreter": { - "type": "string", - "title": "解释器路径", - "description": "脚本解释器的路径,例如:/bin/bash, /usr/bin/python3", - "default": "/bin/bash" + "timeout": { + "type": "number", + "title": "超时时间", + "description": "脚本执行的最大时间(秒)", + "minimum": 1, + "maximum": 3600, + "default": 300 }, "workingDirectory": { "type": "string", @@ -364,26 +325,30 @@ true, NOW(), 'system', NOW(), 'system', 1, false), "description": "脚本执行的工作目录", "default": "/tmp" }, - "timeout": { - "type": "integer", - "title": "超时时间", - "description": "脚本执行的最大时间(秒)", + "retryTimes": { + "type": "number", + "title": "重试次数", + "minimum": 0, + "maximum": 10, + "default": 0 + }, + "retryInterval": { + "type": "number", + "title": "重试间隔(秒)", "minimum": 1, "maximum": 3600, - "default": 300 + "default": 60 }, "environment": { "type": "object", "title": "环境变量", "description": "脚本执行时的环境变量", - "additionalProperties": { - "type": "string" - } + "additionalProperties": {"type": "string"} }, "successExitCode": { - "type": "integer", + "type": "number", "title": "成功退出码", - "description": "脚本执行成功时的退出码", + "description": "脚本执行成功的退出码", "default": 0 } } @@ -391,7 +356,6 @@ true, NOW(), 'system', NOW(), 'system', 1, false), }]', '{ "type": "object", - "required": ["name", "script", "language"], "properties": { "name": { "type": "string", @@ -404,57 +368,16 @@ true, NOW(), 'system', NOW(), 'system', 1, false), "title": "节点描述", "maxLength": 200 }, - "script": { + "executor": { "type": "string", - "title": "脚本内容", - "format": "script", - "description": "需要执行的脚本内容" - }, - "language": { - "type": "string", - "title": "脚本语言", - "enum": ["shell", "python", "javascript", "groovy"], - "enumNames": ["Shell脚本 (已支持)", "Python脚本 (开发中)", "JavaScript脚本 (开发中)", "Groovy脚本 (开发中)"], - "default": "shell", - "description": "脚本语言类型" - }, - "interpreter": { - "type": "string", - "title": "解释器路径", - "description": "脚本解释器的路径,例如:/bin/bash, /usr/bin/python3", - "default": "/bin/bash" - }, - "workingDirectory": { - "type": "string", - "title": "工作目录", - "description": "脚本执行的工作目录", - "default": "/tmp" - }, - "timeout": { - "type": "integer", - "title": "超时时间", - "description": "脚本执行的最大时间(秒)", - "minimum": 1, - "maximum": 3600, - "default": 300 - }, - "environment": { - "type": "object", - "title": "环境变量", - "description": "脚本执行时的环境变量", - "additionalProperties": { - "type": "string" - } - }, - "successExitCode": { - "type": "integer", - "title": "成功退出码", - "description": "脚本执行成功时的退出码", - "default": 0 + "title": "执行器", + "enum": ["SHELL"], + "enumNames": ["Shell脚本执行器"] } - } + }, + "required": ["name", "executor"] }', -'{"name": "脚本执行", "language": "shell", "script": "echo \"Hello World\""}', +'{"name": "Shell脚本", "executor": "SHELL"}', true, NOW(), 'system', NOW(), 'system', 1, false), -- Git节点类型