从零到一:用 HuaweiCloud DevKit 打造专属 2048 游戏并部署上云
从零到一:用 HuaweiCloud DevKit 打造专属 2048 游戏并部署上云
前言
最近参加了华为云开放能力线上闯关挑战活动(活动地址:https://open.huaweicloud.com/openplatform/activity/case ),主题是"打造你的专属 2048 游戏"。整个闯关分为四个步骤:环境准备、沙箱部署、ECS 持久化部署、端到端校验与资源清理。本文记录了完整的实操流程,希望能帮助到同样感兴趣的开发者。
第一步:安装并配置 HuaweiCloud DevKit
这一步的目标是为后续操作准备好 AI Agent + 华为云 CLI 工具链。HuaweiCloud DevKit 是一个 npm 包,通过 npx 即可使用,它能一键安装 KooCLI、配置认证并安装 IDE 插件。
1.1 前置条件确认
首先确认 Node.js 版本 ≥ 22:
node --version
# v22.x.x
如果版本不够,先升级 Node.js(推荐使用 nvm 管理版本)。
1.2 安装 KooCLI
npx --yes huaweicloud-devkit install-hcloud
这一步会下载并安装华为云命令行工具 KooCLI(hcloud),后续所有云资源操作都通过它完成。
1.3 配置 AK/SK 认证
npx --yes huaweicloud-devkit auth init
执行后会引导输入 AK(Access Key)和 SK(Secret Key)。这里需要提前在华为云控制台的"我的凭证"页面创建访问密钥。配置完成后,DevKit 会自动将认证信息同步到 KooCLI、OBS 客户端和沙箱环境,省去手动分别配置的麻烦。
1.4 安装 IDE 插件
npx --yes huaweicloud-devkit install --target codearts
将 DevKit 插件安装到 CodeArts(码道)IDE 中,这样在 IDE 里就能直接调用华为云能力。
1.5 验证安装
npx --yes huaweicloud-devkit doctor
doctor 命令会逐项检查环境是否就绪:Node.js 版本、KooCLI 是否可用、认证是否生效、插件是否安装等。全部显示绿色通过即表示环境准备完毕。
⚠️ 重要提醒:安装完成后必须重启 AI Agent 会话,MCP 工具才会生效。我在第一次操作时忘了重启,导致后续步骤中沙箱工具无法调用,重新重启后才正常。
第二步:生成 2048 游戏并部署到沙箱
这一步的目标是编写一个纯单文件 HTML 的 2048 游戏,部署到 DevKit 沙箱中,并通过 DevBridge 隧道暴露到公网。
2.1 编写 2048 游戏
要求是纯单文件 HTML——CSS 和 JS 全部内联在 index.html 中,不依赖 npm、Vite 或任何构建工具。游戏需要实现:
- 4×4 网格:经典 2048 布局
- 方向键操作:支持键盘上下左右键
- 移动端适配:支持触摸滑动操作
- 合并得分:相同数字合并,分数累加
- 游戏结束判定:无法移动时提示 Game Over
让 AI 助手直接生成这个 index.html 文件即可。核心逻辑包括:
- 用二维数组表示棋盘状态
- 每次操作后随机生成新数字(2 或 4)
- 合并逻辑:同行/列同方向遍历,相同数字翻倍
- 分数计算和游戏结束检测
2.2 上传到沙箱
使用 sandbox_upload_file 工具,一次性将 index.html 上传到 DevKit 沙箱环境:
sandbox_upload_file(index.html)
2.3 通过 DevBridge 隧道暴露到公网
沙箱本身是内网环境,需要通过 DevBridge 隧道将沙箱中的 Web 服务暴露到公网。DevBridge 会生成一个公开的域名 URL,外部可以直接访问。
2.4 验证可访问性
curl -sI <公网URL>
# HTTP/1.1 200 OK
确认返回 200 OK 后,说明沙箱部署成功。此时已经可以通过手机或电脑浏览器访问到你的 2048 游戏了!
2.5 提交成果
使用 huawei-cloud-activity-submit 技能提交沙箱链接,系统会生成一个二维码,可以直接在对话中预览扫码体验。
第三步:部署到 ECS 实现持久化
沙箱部署虽然快速,但它是临时环境。这一步的目标是在华为云 cn-north-4 区域创建 ECS 实例,用 Nginx 托管 2048 游戏,得到一个持久的公网访问地址。
3.1 检查现有资源
首先查询当前区域是否已有可用的 ECS 实例。如果有,直接复用(通过 SSH 上传文件并配置 Nginx);如果没有,则需要新建。
3.2 新建 ECS 的准备工作
如果需要新建 ECS,按以下顺序准备网络资源:
1) 创建 VPC 和子网
- 新建 VPC
- 新建子网,DNS 设置为
100.125.1.250,100.125.129.250(华为云内网 DNS)
2) 创建安全组
安全组规则需要放通:
- SSH(22 端口):仅放通本机出口 IP,用于调试
- HTTP(80 端口):放通
0.0.0.0/0,供外部访问
3) 查询 AZ 和规格售卖状态
创建前先读 API help 列出必填参数,并查询目标可用区(AZ)的 flavor 和磁盘类型售卖状态:
- ECS 规格优先选择
s6.medium.2或sn3.medium.2(1 核 2G) - 磁盘优先选择 SAS 或 GPSSD 类型(SATA 经常售罄)
3.3 创建 ECS 实例
关键点:使用 cloud-init 一次性完成所有配置。
选择 yum/dnf 系镜像(如 Rocky Linux),通过 user_data 写入 shell 脚本,在实例启动时自动完成:
#!/bin/bash
# 设置 root 密码
echo "root:YOUR_PASSWORD" | chpasswd
# 安装 Nginx
dnf install -y nginx
# 写入 2048 游戏页面
mkdir -p /usr/share/nginx/html/hc-activity
cat > /usr/share/nginx/html/hc-activity/index.html << 'EOF'
... (index.html 内容)
EOF
# 启动 Nginx
systemctl enable nginx
systemctl start nginx
同时绑定 EIP(弹性公网 IP),使实例可被外网访问。
3.4 等待 cloud-init 完成并验证
ECS 状态变为 ACTIVE 后,还需要轮询等待 cloud-init 脚本执行完毕。然后验证:
curl -sI http://{ECS_EIP}/hc-activity/index.html
# HTTP/1.1 200 OK
返回 200 即表示 Nginx 已成功托管 2048 游戏。
3.5 提交成果
同样使用 huawei-cloud-activity-submit 技能提交公网地址 http://{ECS_EIP}/hc-activity/index.html,系统会生成二维码并告知已获得的积分。
第四步:端到端校验与资源清理
4.1 逐项校验
严格按照格式逐行输出校验结果:
1. 第一步(准备环境):
执行 npx --yes huaweicloud-devkit doctor
第一步 DevKit 验证结果:通过
2. 第二步(沙箱部署):
用 curl -sI 校验沙箱域名
第二步 沙箱域名:<沙箱域名> 验证结果:通过
3. 第三步(ECS持久化部署):
用 curl -sI 校验 ECS 公网站点
第三步 ECS 站点:http://<ECS_EIP>/hc-activity/index.html 验证结果:通过
全部校验通过 ✅
4.2 资源清理
闯关完成后,及时释放按量付费资源,避免持续计费:
- 释放 ECS 实例:删除本次创建的按量付费 ECS
- 解绑并释放 EIP:先解绑弹性公网 IP,再释放
- 删除临时文件:清理中转使用的对象/文件(如有)
- 删除安全组:确认安全组不再被引用后一并删除
资源清理完成 ✅
总结
整个闯关流程从环境准备到最终部署,涵盖了以下几个关键能力:
| 步骤 | 核心能力 | 产出 |
|---|---|---|
| 第一步 | DevKit 环境搭建 | KooCLI + IDE 插件就绪 |
| 第二步 | 沙箱部署 + DevBridge 隧道 | 临时公网可访问的 2048 游戏 |
| 第三步 | ECS + Nginx + EIP + cloud-init | 持久公网可访问的 2048 游戏 |
| 第四步 | 端到端校验 + 资源治理 | 全部通过 + 资源清理完毕 |
几点心得:
- DevKit 大幅降低上手门槛:一条命令完成安装、认证、插件配置,不用手动分别设置。
- cloud-init 是利器:创建 ECS 时用 user_data 一次性完成密码设置、软件安装、文件写入、服务启动,省去了创建后再 SSH 进去配置的繁琐步骤。
- 资源清理要及时:按量付费资源不用了就立即释放,EIP 解绑后也要释放,否则会持续产生费用。
- 沙箱适合快速验证,ECS 适合持久部署:沙箱部署秒级完成,适合开发调试;ECS 部署稍慢但稳定持久,两者配合使用效率最高。
如果你也对这个闯关挑战感兴趣,可以去活动页面 https://open.huaweicloud.com/openplatform/activity/case 体验一下,全程有 AI 助手引导,对新手非常友好。
- 点赞
- 收藏
- 关注作者
评论(0)