从 0 到 3000 积分:用 HuaweiCloud DevKit 在沙箱与 ECS 上部署 2048
一、背景
华为云「开放能力闯关」活动要求把同一个单文件 2048 页面分别部署到开发者空间沙箱和一台公网 ECS 上,两关分别拿 1000 / 2000 积分。本文记录完整链路和踩过的坑。
二、准备
1. Node.js ≥ 22,安装 HuaweiCloud DevKit:npx --yes huaweicloud-devkit install --target workbuddy
2. 安装 KooCLI:npx --yes huaweicloud-devkit install-hcloud
3. 配置凭证:npx --yes huaweicloud-devkit auth init(非交互环境用 HW_ACCESS_KEY / HW_SECRET_KEY 环境变量注入)
三、沙箱部署
用 DevKit 的 sandbox 系列工具:connect 拿 workspace_id → upload_project 上传 → deploy_nginx 静态托管 8080 → expose_tunnel 拿到 https://xxx-8080.devbridge-s2.hwtunnel.com。
重点坑:沙箱报 HD.99003001「No available node pool」,看起来像资源不足,实际是环境卡在异常态(status=9)。通过 DevStation 的 POST /open-api-public/v1/devenvs/{id}/close 复位后,一次就 connect 成功。
四、ECS 部署
用 hcloud 查子网/镜像/规格 → 安全组放行 22/80(注意 v3 接口参数是 multiport,不是 port_range_min)→ CreateServers 创建按需实例(磁盘类型只能 SAS/SSD/GPSSD,带宽用 traffic 按流量更便宜)→ 装 nginx 托管 → 公网 http://IP/hc-activity/index.html 验证 200。
五、提交与清理
活动页提交两个地址,后台异步校验,几分钟后成长中心任务变已完成。跑完记得 DeleteServers --delete_publicip=true --delete_volume=true,参数是 servers.1.id 而不是 server_id。
六、小结
真正花时间的不是部署,而是错误信息误导带来的排障。建议沙箱把「资源不足」和「状态异常」拆成两个错误码,并在控制台提供重置入口。
- 点赞
- 收藏
- 关注作者
评论(0)