点一下按钮,云端给你一台 VS Code
这是 CNB 最好用的功能,也是新人最容易忽略的功能。
一、怎么开
进入任意分支页面,右上角有 云原生开发 按钮。点它,等几十秒,你会在浏览器里得到一个完整的 VS Code。
本地不用装 Node、Python、JDK,不用配 Git 凭据——环境里 git 已经能用,推代码走的是你登录的身份。
二、它到底是什么
一句话:云原生开发本质上是一条声明了 service.vscode 的构建流水线。
.cnb.yml
$:
vscode:
- services:
- vscode
env:
CNB_WELCOME_CMD: echo "开发环境已就绪,开始编码吧"
stages:
- name: 环境已创建
script: echo "development environment created"
底层和 CI 共用同一套引擎、同一份 .cnb.yml、同一套 Docker 镜像机制。区别只在用途和计费口径:
| 云原生构建 | 云原生开发 | |
|---|---|---|
| 用途 | 自动化构建、测试、部署 | 远程开发、写代码 |
| 声明方式 | 任意触发事件 | 声明 service.vscode |
| 节点 | 构建节点 | 开发节点 |
| 计费 | 云原生构建用量 | 云原生开发用量 |
三、环境会被自动回收
这点必须提前知道,否则会对着丢失的工作区发愣。
回收规则:
- 创建后 10 分钟内没进 VS Code 页面 → 回收
- 打开页面后关闭,超过 10 分钟无操作 → 回收
- 最长保持 18 小时(持续心跳可维持)
- 不过夜:使用超过 8 小时且处于凌晨 4~6 点 → 强制回收
四、代码会不会丢?基本不会
回收前系统会自动备份工作区,重建环境时恢复。备份内容包括:
- 工作区未提交的修改、暂存区修改、未追踪文件
- 未 push 的 commit、stash
限制:
- 单个文件超过 100MB 不备份,总备份超过 100MB 也不备份
- 每个分支只保留一份备份,新备份覆盖旧备份
- 备份恢复成功后会被删除(一份备份只能恢复一次),但环境下次销毁会生成新的
:::warning 别把它当网盘 备份是兜底,不是版本控制。团队协作还是老老实实开个人分支提交。 :::
五、在环境里起个服务怎么看效果
比如跑一个前端 dev server 监听 3000 端口:
- WebIDE 左侧
PORTS面板添加端口映射,系统自动生成访问 URL - 或者直接读环境变量
CNB_VSCODE_PROXY_URI,把{{port}}换成实际端口
echo "$CNB_VSCODE_PROXY_URI" | sed "s/{{port}}/3000/"
:::tip 必须监听 0.0.0.0
服务绑在 127.0.0.1 上没法从外部访问,一定要用 0.0.0.0。
:::
六、下一步
到这里你已经能写代码、能跑构建、能用云端 IDE。剩下的就是把它们玩明白——从下一篇开始进入 .cnb.yml 的结构。