从零到一:用 HuaweiCloud DevKit 打造专属 2048 游戏并部署上云

举报
yd_227676926 发表于 2026/10/22 10:16:59 2026/10/22
【摘要】 从零到一:用 HuaweiCloud DevKit 打造专属 2048 游戏并部署上云 前言最近参加了华为云开放能力线上闯关挑战活动(活动地址:https://open.huaweicloud.com/openplatform/activity/case ),主题是"打造你的专属 2048 游戏"。整个闯关分为四个步骤:环境准备、沙箱部署、ECS 持久化部署、端到端校验与资源清理。本文记录...

从零到一:用 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 资源清理

闯关完成后,及时释放按量付费资源,避免持续计费:

  1. 释放 ECS 实例:删除本次创建的按量付费 ECS
  2. 解绑并释放 EIP:先解绑弹性公网 IP,再释放
  3. 删除临时文件:清理中转使用的对象/文件(如有)
  4. 删除安全组:确认安全组不再被引用后一并删除
资源清理完成 ✅

总结

整个闯关流程从环境准备到最终部署,涵盖了以下几个关键能力:

步骤 核心能力 产出
第一步 DevKit 环境搭建 KooCLI + IDE 插件就绪
第二步 沙箱部署 + DevBridge 隧道 临时公网可访问的 2048 游戏
第三步 ECS + Nginx + EIP + cloud-init 持久公网可访问的 2048 游戏
第四步 端到端校验 + 资源治理 全部通过 + 资源清理完毕

几点心得:

  1. DevKit 大幅降低上手门槛:一条命令完成安装、认证、插件配置,不用手动分别设置。
  2. cloud-init 是利器:创建 ECS 时用 user_data 一次性完成密码设置、软件安装、文件写入、服务启动,省去了创建后再 SSH 进去配置的繁琐步骤。
  3. 资源清理要及时:按量付费资源不用了就立即释放,EIP 解绑后也要释放,否则会持续产生费用。
  4. 沙箱适合快速验证,ECS 适合持久部署:沙箱部署秒级完成,适合开发调试;ECS 部署稍慢但稳定持久,两者配合使用效率最高。

如果你也对这个闯关挑战感兴趣,可以去活动页面 https://open.huaweicloud.com/openplatform/activity/case 体验一下,全程有 AI 助手引导,对新手非常友好。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。