给CNB云原生开发的远程开发环境添加Jetbrains IDE

FOXBALL-ONE Lv1

今天试了一下由腾讯云支持的云原生开发CNB,官方默认提供的是VS Code Server。虽然本地VS Code可以通过远程SSH方式接入远程开发环境,但考虑到有些开发者更习惯使用Jetbrains IDE,因此参考CNB官方文档,尝试为CNB添加Jetbrains IDE支持。

CNB的云原生开发环境基于Docker容器提供远程开发服务,所以我们可以通过构建一个包含Jetbrains IDE的Docker镜像,让CNB使用该镜像启动开发环境。

前提条件:需要在本地安装Jetbrains Gateway

官方参考文档:https://docs.cnb.cool

实现步骤

1. 创建配置文件

在仓库根目录下创建.cnbd.yaml文件,并写入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# .cnb.yml
$:
vscode:
- docker:
build: .ide/Dockerfile
# 可选择是否同时定义 build 和 image
# 此时会优先使用 .ide/Dockerfile 构建镜像
# 如果 .ide/Dockerfile 构建失败,则使用 image 指定的镜像保证环境能启动成功
# image: cnbcool/default-dev-env:latest
services:
- vscode
- docker
# 开发环境启动后会执行的任务
stages:
- name: ls
script: ls -al

2. 创建Dockerfile

新建目录.ide,并在该目录下创建Dockerfile文件,写入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# .ide/Dockerfile
#基础镜像可以自己选,这里我是基于官方的配置来修改
FROM node:22

WORKDIR /root

# 安装 ssh 服务
RUN apt-get update && apt-get install -y wget unzip openssh-server axel

# 创建 /ide_cnb 目录,用于安装 IDE,注意安装路径必须是这个,便于自动识别环境中支持哪些 ide
RUN mkdir -p /ide_cnb

# 安装 IntelliJ IDEA (使用axel来进行多线程加速下载节约构建时间)
#如果你想安装更多的JetBrains IDE,请参考官方文档。实际上就是下载安装包,然后解压到 /ide_cnb 目录下
RUN axel -n 8 -o ideaIU-2024.3.5.tar.gz https://download.jetbrains.com/idea/ideaIU-2025.2.5.tar.gz
RUN tar -zxvf ideaIU-2024.3.5.tar.gz -C /ide_cnb

# 安装 code-server(VSCode WebIDE 支持)
RUN curl -fsSL https://code-server.dev/install.sh | sh \
&& code-server --install-extension cnbcool.cnb-welcome \
&& code-server --install-extension redhat.vscode-yaml \
&& code-server --install-extension orta.vscode-jest \
&& code-server --install-extension dbaeumer.vscode-eslint \
&& code-server --install-extension waderyan.gitblame \
&& code-server --install-extension mhutchie.git-graph \
&& code-server --install-extension donjayamanne.githistory

ENV LANG C.UTF-8

3. 构建与使用

将上述文件提交到CNB仓库中,提交后点击仓库的云原生开发按钮,开始构建我们所需的镜像。

构建成功后,会出现使用Jetbrains Gateway连接到远程开发环境的选项:

CNB构建成功效果图

点击之后会弹出窗口,展示可供选择的IDE:

IDE选择窗口

后续如果Dockerfile文件没有变动的话,CNB构建一次之后会缓存镜像,因此后续再次使用CNB开发环境时,无需再次构建镜像。

重要说明

在使用过程中需要注意以下几点:

  1. 客户端要求:需要自行安装Jetbrains Gateway客户端,可能还需要在本地安装对应IDE的客户端(例如在容器内安装了IDEA,本地也需要安装IDEA客户端)

  2. 环境配置:需要自行配置镜像中的开发环境,如设置SDK(例如配置JAVA_HOME环境变量等)

  3. 存储占用:构建成功之后会生成一个镜像,CNB会保存到当前仓库的制品内,会占用当前仓库所属组织的对象存储空间,因此请务必注意空间使用情况。

总结

通过以上配置,我们成功地为CNB云原生开发环境添加了Jetbrains IDE支持,使得习惯使用IntelliJ IDEA等Jetbrains系列IDE的开发者也能享受到云原生开发带来的便利。

  • 标题: 给CNB云原生开发的远程开发环境添加Jetbrains IDE
  • 作者: FOXBALL-ONE
  • 创建于 : 2025-11-22 22:06:49
  • 更新于 : 2026-05-18 20:55:06
  • 链接: https://blog.utf-8.fun/2025/11/22/给CNB云原生开发的远程开发环境添加Jetbrains IDE/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论