跳到主要内容

点一下按钮,云端给你一台 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 端口:

  1. WebIDE 左侧 PORTS 面板添加端口映射,系统自动生成访问 URL
  2. 或者直接读环境变量 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 的结构。