基于云原生的远程开发解决方案
支持 WebIDE、VSCode 客户端、Cursor 客户端进行远程开发
分支即环境:像创建分支一样,创建开发环境。
声明式
:基于 Dockerfile 声明开发环境,与代码同源管理秒级体验
:即使是超级大仓,也可以数秒准备好代码按需使用
:按需使用高性能开发资源,兼顾高配置低成本
创建开发环境支持两种方式:
- 方法一:无需任何配置,点击按钮即可一键创建开发环境
- 方法二:可在仓库中添加配置,实现自定义开发环境,实现在创建分支时自动创建开发环境
# 方式一:一键创建开发环境
可在仓库分支页面点击右上角 云原生开发
按钮,创建开发环境:无需任何配置,即可直接打开一个使用公共模板创建的开发环境
公共模板配置如下, 默认会使用 codingci/default-env:latest
作为基础镜像。(以下模板为公共模板,如需自定义开发环境,请参考下方进阶教程)
$:
api_trigger_vscode:
clouddev:
docker:
# 优先使用 .ide/Dockerfile 文件构建基础镜像
# 如果仓库中不存在 .ide/Dockerfile 文件,则使用默认镜像 codingci/default-env:latest
build: .ide/Dockerfile
image: codingci/default-env:latest
services:
- vscode
- docker
stages:
- name: 开启云原生开发
type: vscode:go
- 进阶一: 如果希望点击分支页面
云原生开发
能启动一个自定义的开发环境,可在仓库根目录下增加.ide/Dockerfile
文件,在 Dockerfile 中自由定制开发环境,如果仓库根目录包含.ide/Dockerfile
文件,则启动开发环境时会优先使用.ide/Dockerfile
构建一个镜像,作为开发环境基础镜像。
# .ide/Dockerfile,在项目根目录下增加此文件, 实际配置时可根据情况安装其他软件支持
FROM node:14
# install vscode and extension
RUN curl -fsSL https://code-server.dev/install.sh | sh &&\
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 eamodio.gitlens &&\
echo done
# 指定字符集支持命令行输入中文(根据需要选择字符集)
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8
- 进阶二: 如果希望点击分支页面
云原生开发
能使用自定义的 yml 流水线配置, 可在仓库根目录下新增.coding-ci.yml
文件, 文件内新增如下配置:
# 如下配置可覆盖默认配置
$:
api_trigger_vscode:
# 此处使用数组格式, 可覆盖掉默认配置中的对象格式
# 可根据实际情况修改下方配置
- docker:
build: .ide/Dockerfile
image: codingci/default-env:latest
services:
- vscode
- docker
stages:
- name: 开启云原生开发
type: vscode:go
# 方式二:自定义开发环境
如需自定义开发环境,可参考如下配置。
# 1、如何配置开发环境
- 第一步:使用 Dockerfile 声明开发环境。
# .ide/Dockerfile,在项目根目录下增加此文件
FROM node:14
# install vscode and extension
RUN curl -fsSL https://code-server.dev/install.sh | sh &&\
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 eamodio.gitlens &&\
echo done
# 安装 ssh 服务,用于支持 Vscode 客户端通过 Remote-SSH 访问开发环境
# (如果需要支持客户端打开远程开发环境可安装)
# RUN apt-get update && apt-get install -y wget unzip openssh-server
# 指定字符集支持命令行输入中文(根据需要选择字符集)
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8
- 第二步: 通过 .coding-ci.yml,声明新建分支时,自动创建开发环境
# .coding-ci.yml
# 匹配所有分支
(**):
# 创建分支时自动创建创建开发环境
branch.create:
- name: vscode
services:
# 声明使用 vscode
- vscode
docker:
# 自定义开发环境
build: .ide/Dockerfile
stages:
# - name: 执行自定义脚本
# script:
# - npm install
# - npm run start
- name: ready
type: vscode:go
# 2、如何启动开发环境?
从仓库页面创建分支,即可触发自动创建开发环境。
在远程开发环境中修改了 Dockerfile 后如何验证呢?重建开发环境即可:
方法一:等开发环境销毁后(默认 10 分钟后自动销毁,也可在构建日志页面点击 stop 按钮主动销毁), 销毁后打开原来的 WebIDE 页面会出现
重建环境
按钮,点击按钮即可重建开发环境方法二:修改提交后,基于修改后的 commit 创建新分支,可触发基于新的修改创建开发环境
使用技巧 →