1. 加载进度步骤
  2. 工厂(Factory)加载
    1. 触发方式
    2. 支持的工厂参数
    3. 工厂创建流程
  3. 加载页操作
  4. FAQ
    1. Q: 加载进度长时间卡在「获取 devfile」?
    2. Q: 工厂创建时提示来源不受信任?
    3. Q: 打开已有工作区时标题显示「使用默认 devfile」?

IDE 加载器(Loader) 是启动工作区时显示的加载页面,承担两种职责:

  • 工作区模式(路由 /ide/:namespace/:workspaceName):打开已存在的工作区,标题「正在启动工作区 」
  • 工厂模式(路由 /load-factory?url=...):通过工厂 URL 创建并启动新工作区,标题「创建工作区」

页面提供 进度 / 日志 / 事件 三个 Tab。工作区尚未创建时(工厂模式早期),日志与事件 Tab 不可用。

加载进度步骤

加载器以向导形式展示工作区创建与启动进度,共五步:

步骤 说明
初始化 校验工厂参数、来源信任与创建策略
检查运行工作区数量限制 确认未超过平台允许的运行中工作区上限
创建工作区 包含 4 个子步骤:获取 devfile → 检查现有工作区 → 等待 SCC 权限 → 应用 devfile
等待工作区启动 等待工作区容器就绪
打开 IDE 在新标签页打开 IDE

打开已有工作区时,向导会跳过”创建工作区”子步骤,仅展示初始化 → 启动 → 打开 IDE 的流程。

工厂(Factory)加载

工厂加载是 Che 的 URL 驱动一键创建 机制:只要拿到一个 Git 仓库地址,就能自动创建并启动对应的云开发环境。

触发方式

  • 创建工作区 页面从 Git 导入或选择示例后,会自动跳转到工厂加载流程(详见 创建工作区
  • 直接访问带仓库地址的链接,例如:
    • https://<che-host>#/<仓库地址>
    • https://<che-host>/dashboard/github.com/组织/仓库
    • 链接中带 remotes 等工厂参数

访问上述链接后,浏览器自动重定向到 /load-factory?url=<仓库地址> 并开始创建。

支持的工厂参数

参数 说明
url 远程 devfile 或 Git 仓库地址
che-editor / editor-image 编辑器定义 / 编辑器镜像
ai-provider AI 提供商(逗号分隔多个)
revision Git 分支(也支持从 /tree/<branch> 提取)
remotes 附加 Git 远程仓库
image 覆盖容器镜像
storageType per-workspace / ephemeral / per-user
memoryLimit / cpuLimit 资源限制
name 指定工作区名称
policies.create peruser(复用)/ perclick(每次新建)
devfilePath / df 仓库内 devfile 的相对路径
override.* 覆盖 devfile 属性

工厂创建流程

  1. 初始化:校验 url 参数完整性、来源是否被平台允许、是否受信任(受信任或已允许则跳过信任确认弹窗);处理 error_codeinvalid_request / access_denied / ssl_exception 等)
  2. 获取 devfile:从远程 devfile 或 Git 仓库解析出 devfile;私有仓库会触发 OAuth 认证跳转;仓库内 devfile 无效时降级使用默认 devfile
  3. 检查现有工作区:按创建策略(复用/每次新建)检查同仓库是否已有工作区
  4. 等待 SCC 权限 / 应用 devfile:等待安全上下文约束权限后生成并应用 DevWorkspace 资源
  5. 启动并打开 IDE

加载页操作

  • 加载页右上角的 菜单提供 启动 / 停止 操作(按当前状态启用/禁用)
  • 特殊启动模式在标题追加后缀:
    • 使用默认 devfile:仓库 devfile 无效时使用默认开发镜像
    • 调试模式:以调试模式启动(调试器端口开放)
  • 非进度 Tab 激活时,进度中的错误会以提示条(Toast)形式弹出,可切换到日志/事件 Tab 查看详情

FAQ

Q: 加载进度长时间卡在「获取 devfile」?

原因: 私有仓库需要认证,或仓库网络访问慢/不可达。

解决方法: 确保已配置 个人访问令牌 或完成 Git 服务 OAuth 授权;检查仓库地址与网络。

Q: 工厂创建时提示来源不受信任?

说明: 从不受信任的仓库创建工作区会弹出「您信任此仓库的作者吗?」确认框,勾选「不再询问其他仓库」后加入信任列表。

解决方法: 仅对可信来源确认;平台管理员也可配置允许的来源列表。

Q: 打开已有工作区时标题显示「使用默认 devfile」?

说明: 表示仓库中未找到有效 devfile,使用了平台默认的通用开发镜像。

解决方法: 在仓库中添加 devfile.yaml 后重新创建工作区,即可使用自定义开发环境。