feat(ops): U4 后端镜像瘦身 282MB→107MB (62%降幅)

- 移除 git/docker-cli/docker-cli-buildx (~100MB) 改为懒加载
- PipelineHandler 注入 ToolInstaller, runCheckout/runImageBuild 调 EnsureAvailable
- UpgradeTools 自动升级 DB 中 git/docker-cli preinstall→lazy
- 仅内置 linux-amd64 agent (~12MB节省), arm64/darwin 通过下载API
- kubectl 改用 install-kubectl.sh 下载 stripped 版本
- .dockerignore 排除 backend/kubectl 60MB 二进制
- Dockerfile.embed + backend/Dockerfile 同步更新
- 17/17 集成测试通过
This commit is contained in:
attacker committed 2026-06-27 14:28:09 +08:00
1 parent 8dd5a07b70
commit c624ca5b4a
11 files changed
+175 -47

No files matched your search

+22 -20
View File
@@ -191,29 +191,31 @@ echo "[Node.js] Installed: $(node --version) / npm $(npm --version)"
`,
SortOrder: 4,
},
// ──── Git — 版本控制(预装)// Logan.Li ────
// ──── Git — 版本控制(懒加载, U4 镜像瘦身)// Logan.Li ────
{
Name: "git",
DisplayName: "Git",
Description: "版本控制工具,流水线代码拉取使用",
Category: "build",
InstallMethod: ToolPreinstall,
BinaryName: "git",
InstallPath: "/usr/bin/git",
CheckCommand: "git --version 2>/dev/null",
SortOrder: 5,
Name: "git",
DisplayName: "Git",
Description: "版本控制工具,流水线代码拉取使用(首次使用自动安装)",
Category: "build",
InstallMethod: ToolLazy,
BinaryName: "git",
InstallPath: "/usr/bin/git",
CheckCommand: "git --version 2>/dev/null",
InstallScript: `apk add --no-cache git`,
SortOrder: 5,
},
// ──── Docker CLI — 容器构建(预装)// Logan.Li ────
// ──── Docker CLI — 容器构建(懒加载, U4 镜像瘦身)// Logan.Li ────
{
Name: "docker-cli",
DisplayName: "Docker CLI",
Description: "Docker 命令行工具,流水线镜像构建/推送使用",
Category: "deploy",
InstallMethod: ToolPreinstall,
BinaryName: "docker",
InstallPath: "/usr/bin/docker",
CheckCommand: "docker --version 2>/dev/null",
SortOrder: 6,
Name: "docker-cli",
DisplayName: "Docker CLI",
Description: "Docker 命令行工具,流水线镜像构建/推送使用(首次使用自动安装)",
Category: "deploy",
InstallMethod: ToolLazy,
BinaryName: "docker",
InstallPath: "/usr/bin/docker",
CheckCommand: "docker --version 2>/dev/null",
InstallScript: `apk add --no-cache docker-cli`,
SortOrder: 6,
},
}
}