This commit is contained in:
12600k-rog-d4
2026-08-24 00:35:30 +08:00
parent 32b308bc08
commit b673ed62f9
24 changed files with 483 additions and 393 deletions

View File

@@ -0,0 +1,44 @@
//go:build ignore
// 临时验证程序:验证 镜像上传 + docker load 分发链路(用完即删)
package main
import (
"fmt"
"os"
"strings"
"time"
"auto-check/pkg/sshclient"
)
func main() {
ip := os.Args[1]
cfg := sshclient.NewConfig("admin", "admin123", "", 22, 10*time.Second)
cli, err := sshclient.Connect(ip, cfg)
if err != nil {
fmt.Println("SSH 连接失败:", err)
os.Exit(1)
}
defer cli.Close()
sshclient.EnsureHome(cli)
v, _ := sshclient.RunCommand(cli, "echo 'admin123' | sudo -S -- docker version --format '{{.Server.Version}}' 2>/dev/null")
fmt.Printf("Docker 版本: %q\n", strings.TrimSpace(v))
exists, _ := sshclient.RunCommand(cli, "echo 'admin123' | sudo -S -- docker images stress-test:latest --format '{{.Repository}}:{{.Tag}}' 2>/dev/null")
fmt.Printf("镜像状态: %q\n", strings.TrimSpace(exists))
if strings.TrimSpace(exists) == "" {
if err := sshclient.UploadFile(cli, "docker/stress-test/stress-test.tar", "/tmp/auto-check-image.tar"); err != nil {
fmt.Println("上传失败:", err)
os.Exit(1)
}
out, err := sshclient.RunCommand(cli, "echo 'admin123' | sudo -S -- docker load -i /tmp/auto-check-image.tar 2>&1")
sshclient.RunCommand(cli, "rm -f /tmp/auto-check-image.tar")
fmt.Printf("load 输出: %s (err=%v)\n", out, err)
exists, _ = sshclient.RunCommand(cli, "echo 'admin123' | sudo -S -- docker images stress-test:latest --format '{{.Repository}}:{{.Tag}}' 2>/dev/null")
fmt.Printf("load 后镜像状态: %q\n", strings.TrimSpace(exists))
}
fmt.Println("验证完成")
}