509 字约 2 分钟
通过 Docker 镜像指定开发环境
在 .cnb.yml 中编写云原生开发事件流水线,通过 pipeline.docker 指定开发环境。
如果指定镜像中已安装 code-server,将使用单容器模式启动;未安装则使用双容器模式。
.cnb.yml
$:
vscode:
- docker:
image: cnbcool/default-dev-env:latest
# build: .ide/Dockerfile
services:
- vscode
- docker
stages:
- name: ls
script: ls -al支持两种方式指定开发环境镜像:
image:直接使用已有镜像(适用于预置镜像场景)build:通过 Dockerfile 自定义构建(与image二选一,也可同时指定image作为回退镜像)
通过 Dockerfile 自定义开发环境
如果指定镜像无法满足需求,可在仓库根目录创建 .ide/Dockerfile 来自定义开发环境。
未自定义启动流水线时,系统会优先使用 .ide/Dockerfile 构建镜像作为基础镜像。 如果 .ide/Dockerfile 不存在或构建失败,会回退使用默认镜像。
# .ide/Dockerfile
# 可将 node 替换为需要的基础镜像
FROM node:20
# 安装 code-server 和常用 vscode 插件
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 dbaeumer.vscode-eslint \
&& code-server --install-extension mhutchie.git-graph \
&& echo done
# 安装 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同时自定义开发环境和启动流程
如果需要同时自定义开发环境和启动流程,可编写 .ide/Dockerfile 和 .cnb.yml。 Dockerfile 内容与上文相同,不再重复。
.cnb.yml 中启用 build: .ide/Dockerfile(参考上方示例中的方案2), 并可同时指定 image 作为回退镜像。