diff --git a/backend/internal/cert/deploy/ssh.go b/backend/internal/cert/deploy/ssh.go index eff838b..07a953d 100644 --- a/backend/internal/cert/deploy/ssh.go +++ b/backend/internal/cert/deploy/ssh.go @@ -273,7 +273,14 @@ func SSHAPITest(providerID string) error { default: port = "22" } + IPtype := public.CheckIPType(providerConfig.Host) + if IPtype == "IPv6" { + providerConfig.Host = "[" + providerConfig.Host + "]" + } addr := fmt.Sprintf("%s:%s", providerConfig.Host, port) + if providerConfig.Mode == "" || providerConfig.Mode == "password" { + providerConfig.PrivateKey = "" + } authMethods, err := buildAuthMethods(providerConfig.Password, providerConfig.PrivateKey) if err != nil { diff --git a/backend/internal/workflow/workflow.go b/backend/internal/workflow/workflow.go index 53d682d..a10d3f2 100644 --- a/backend/internal/workflow/workflow.go +++ b/backend/internal/workflow/workflow.go @@ -264,7 +264,10 @@ func RunNode(node *WorkflowNode, ctx *ExecutionContext) error { lastStatus := ctx.GetStatus(node.Config["fromNodeId"].(string)) for _, branch := range node.ConditionNodes { if branch.Config["type"] == string(lastStatus) { - return RunNode(branch, ctx) + err := RunNode(branch, ctx) + if err != nil { + return fmt.Errorf("执行条件分支失败: %v", err) + } } } }