1142 字约 4 分钟
仅预览模式是云原生开发的衍生能力。在该模式下,点击 云原生开发 按钮将直接打开预览页面而非 WebIDE,提供更快捷的预览体验。
注意事项
- 此功能为 beta 版本,相关配置和使用方法后续可能会变更。
- 仅预览模式不支持 WebIDE,可借助自定义按钮创建支持 WebIDE 的云开发按钮入口。
- 若要使用 SSH 连接,请自行在镜像中安装 openssh
- 仅预览模式不支持代理,
$CNB_VSCODE_PROXY_URI环境变量在此模式下无效。如需代理,请使用标准云开发模式。
如何配置?
.cnb.yml
$:
vscode:
- docker:
build: .ide/Dockerfile
services:
# launch 启动命令中如需使用到 docker 命令或 docker compose 命令,docker service 需写在 vscode service 前面
- docker
- name: vscode
options:
# 启用预览模式
onlyPreview: true
# 启动业务端口的命令,端口必须启动在 8686
launch: node index.js
# 离线保活时间,单位毫秒,不设置默认 10 分钟没有心跳(检测不到开发环境内的 http 连接)即关闭开发环境
keepAliveTimeout: 10m
# 是否以守护进程模式启动,默认为 false
# true:launch 命令启动的服务直接运行在后台,无法查看启动日志
# false:可以查看启动日志,等待服务启动完成并主动退出后继续后续流程
# 推荐设置为 false,方便通过启动日志定位问题
daemon: true
# 是否备份/恢复用户数据(仅预览模式下生效),默认为 false
# 设置为 true 时:启动时恢复上次用户漫游数据和未提交更改,运行时定时备份,关闭时再次备份
backup: true
# 开发环境启动后会执行的任务
stages:
- name: ls
script: ls -al参数详解
onlyPreview
- 类型:
Boolean - 说明:是否启用仅预览模式
- 效果:设置为
true时,点击云原生开发按钮将打开预览页面而非 WebIDE。若要使用 SSH,需自行在镜像中安装 openssh
launch
- 类型:
String - 说明:启动业务服务的命令
- 注意:业务服务必须启动在
8686端口 - 示例:
node index.js、npm start、python app.py等
keepAliveTimeout
- 类型:
Number|String(单位默认为毫秒) - 默认值:
600000(10 分钟) - 说明:开发环境的离线保活时间。检测不到 HTTP 连接时,超过设定时间后将自动关闭开发环境
- 示例:
7200000表示 2 小时
支持直接写数字(毫秒),或带单位的字符串格式,如 10m 表示 10 分钟。支持以下单位:
ms:毫秒(默认)s:秒m:分钟h:小时
daemon
- 类型:
Boolean - 默认值:
false - 说明:进程启动模式:
true(守护进程模式):launch 命令启动的服务直接运行在后台false(非守护进程模式):可以查看启动日志,等待服务启动完成并主动退出后继续后续流程
backup
- 类型:
Boolean - 默认值:
false - 说明:是否备份/恢复用户数据(仅在预览模式下生效)。设置为
true时:- 启动时:恢复上次的用户漫游数据和未提交的代码更改
- 运行时:定时备份未提交的代码更改
- 关闭时:备份用户漫游数据和未提交的代码更改
使用流程
- 在项目根目录创建
.cnb.yml文件 - 按照上述配置示例进行配置
- 确保业务服务监听在
8686端口 - 点击云原生开发按钮
- 系统将自动启动开发环境并打开预览页面
仅预览模式如何使用 SSH 连接?
需在自定义开发环境中安装 openssh,示例如下:
# .ide/Dockerfile
# 可将 node 替换为需要的基础镜像
FROM node:20
# 安装 ssh 服务,用于支持 VSCode 等客户端通过 Remote-SSH 访问开发环境(也可按需安装其他软件)
RUN apt-get update && apt-get install -y git wget unzip openssh-server
# 指定字符集支持命令行输入中文(根据需要选择字符集)
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8仅预览模式环境创建后直接进入预览页面,不展示客户端选择页。如需客户端连接,可在「头像 → 我的云原生开发」页面找到入口。