SuperAPI AI 工具集

sealos-deploy

部署与运维

查看项目

更新于 10-16 02:05

技能介绍

Sealos Deploy 是一个把 GitHub 项目从源码部署到 Sealos Cloud 的技能,目标是用一条命令完成从源码到运行应用的流程。

用途 它面向需要将 GitHub 仓库或本地项目部署到 Sealos Cloud 的场景。输入可以是 GitHub URL、本地路径,或不带参数以部署当前项目。

主要能力 技能按阶段推进:Phase 0 预检(能力扫描、路径相关警告、Sealos 认证);Phase 1 评估(克隆仓库或使用当前项目,分析可部署性,评分过低则停止);Phase 2 检测已有镜像(Docker Hub / GHCR / README,找到则跳到 Phase 5);Phase 3 生成 Dockerfile(缺失时生成,已有则跳过);Phase 4 构建并推送(docker buildx 推送到 GHCR,自动通过 gh CLI,或回退到 Docker Hub);Phase 5 生成 Sealos 应用模板;Phase 5.5 配置(引导用户填写应用环境变量和输入,无需输入则跳过);Phase 6 部署模板到 Sealos Cloud。

使用方式 命令形式为 /sealos-deploy <github-url>、/sealos-deploy(部署当前项目)或 /sealos-deploy <local-path>。执行时按顺序运行 modules/preflight.md 和 modules/pipeline.md。所有 kubectl 命令必须使用 KUBECONFIG=~/.sealos/kubeconfig kubectl --insecure-skip-tls-verify。安装系统工具(docker、gh、kubectl)需用户确认,仅在用户明确回复 y 后执行。删除任何资源(deployment、service、ingress、PVC、数据库等)前必须询问用户确认,即使流水线逻辑建议删除也要先问。

日志 每次运行必须在 ~/.sealos/logs/deploy-<YYYYMMDD-HHmmss>.log 写入日志,且只在开始时创建一次,后续全部追加(>>)到同一文件。每个阶段边界追加日志条目,出错时记录错误详情再停止,最后告知用户日志位置。

脚本 技能目录 scripts/ 下提供多个 Node.js 脚本,均输出 JSON,通过 Bash 运行并解析结果:score-model.mjs(确定性就绪评分 0-12)、validate-artifacts.mjs(按强制 schema 校验 .sealos JSON 产物)、detect-image.mjs(检测已有 Docker/GHCR 镜像)、build-push.mjs(构建 amd64 镜像并推送到所选 registry)、ensure-image-pull-secret.mjs(创建/更新应用级 GHCR 拉取 Secret,可选修补已有 Deployment)、gh-refresh-scopes.mjs(在当前 TTY 刷新 GHCR 包访问权限)、deploy-template.mjs(从 ~/.sealos/auth.json 解析当前区域,构建正确的 Template API URL 并提交本地模板 YAML)、sealos-auth.mjs(Sealos Cloud 认证与工作区切换)。

内部依赖 该技能引用同装内部技能的知识文件,非用户直接使用,在特定阶段按需加载。同级技能位于 <SKILL_DIR>/../,包括 dockerfile-skill(Phase 3 Dockerfile 生成知识)、cloud-native-readiness(Phase 1 评估标准)、docker-to-sealos(Phase 5 Sealos 模板规则)。pipeline.md 中使用的路径形如 <SKILL_DIR>/../dockerfile-skill/knowledge/error-patterns.md、<SKILL_DIR>/../dockerfile-skill/templates/<lang>.dockerfile、<SKILL_DIR>/../docker-to-sealos/references/sealos-specs.md。

适用场景与限制 适用于希望把 GitHub 项目或本地项目部署到 Sealos Cloud 的用户。执行规则要求 Phase 0 仍有未解决的入口阻塞时不得开始 Phase 1;Docker、gh、builder 和 registry 失败需尽早报告,但只有在后续需要本地构建/推送时才成为硬阻塞。部署时 401 需重新认证,409 表示实例已存在。资料未提供具体收费、价格、平台支持范围或效果保证等信息。