基于 Code-server 快速部署自己的云开发环境
1. 前言
Web IDE,顾名思义就是云端开发环境,把 IDE 部署在云上。打开浏览器,连上云 IDE,就可以方便敲代码跑程序。想象一下,带上一台 iPad 或者华为、小米平板,配上蓝牙键盘,坐在阴凉下,或者沙滩上,吹着海风,面朝大海敲代码,多么惬意。
其实 Web IDE 很早就有,但那些都只能说是玩具,直到现在才有一些不错的产品推出,比如微软和 Github 的 Visual Studio Codespaces、coding.net 的 Cloud Studio、华为云 CloudIDE 等。不过,这些产品要么还在测试,要么免费用会有限制或者价格不菲,目前还不是非常方便。
如果想要低成本愉快地使用,自己动手搭建是一个不错的方案。对配置要求不高的话,一年几十块一百多块就能买到廉价的 VPS 或者云主机就足够了。
自己DIY 一套Web IDE 比较成熟的方案有两个,code-server 和 Theia。毕竟 code-server 是基于VS code魔改的,与vs code的插件体系兼容性更好。所以更推荐code-server。Theia虽然有自己的插件体系,也宣称兼容vs code的插件,也是一套优秀的WEB IDE解决方案,但是兼容程度谁知道呢?
Code-server是由 Coder 开发的,把 VS Code 搬到了浏览器上。
下面使用三种方式在一台 4 核 8GB 内存 60 GB SSD 的 VPS 上部署 code-server。这台 VPS 一年 24 刀,配置能满足基本的使用。这篇文章很长,但部署过程很简单,如果不想看太多字,可直接拉到最后。
2. 申请云主机
到自己的云服务提供商界面创建云主机
2G8U 80G
OS: Centos 7.9
3. VPN 连接云服务商网络
4. 登录到云主机
1 | ssh -i ~/.ssh/ssh_key root@server_intranet_ip |
5. 安装方式一:使用脚本安装 code-server
如果使用安装脚本,则可以预览安装过程中即将发生的情况:
如果对脚本安装有任何担心,请参阅Is curl|bash insecure?
如果仍然有担心,请参考本文介绍的其他安装方式
1 | curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run |
确定没有问题后,开始正式安装。
1 |
|
您可以通过添加或修改一个或多个标志来修改安装过程:
- –dry-run:在不运行命令的情况下回显安装过程的命令。
- –method:选择安装方法。
- –method=detect:检测包管理器,但回退到–method=standalone。
- –method=standalone:在~/.local 中安装一个独立版本的归档文件。
- –prefix=/usr/local:在系统范围内安装独立版本的归档文件。
- –version=X.X.X:安装 X.X.X 版本,而不是最新版本。
- –help:参阅帮助文档。
- –edge:安装最新的 edge 版本(即预发行版)
完成后,安装脚本将打印出运行和启动 code-server 的说明。
6. 安装方式二:rpm/deb 包安装方式
6.1. 下载安装包
1 |
|
其中版本可以替换成自己需要的版本, 版本信息以及 release notes 可以到 code-server 项目的release 页面查询
6.2. 安装软件包
1 |
|
6.3. 设置为开机启动
1 | sudo systemctl enable --now code-server@$USER |
现在可以访问 http://127.0.0.1:8080.
密码保存在 ~/.config/code-server/config.yaml
6.4. 开放端口
如果要允许外部电脑访问 code-server,这需要修改 IP 地址绑定并开发相应端口
vi ~/.config/code-server/config.yaml
1 |
|
开放端口
1 | # 检查防火墙是否开启 |
7. 安装方式三:Docker 安装方式
7.1. 安装 Docker
1 | # 添加docker-ce yum源 |
7.2. 设置 docker
使用 Docker 镜像加速器
由于网络原因,我们在 pull Image 的时候,从 Docker Hub 上下载会很慢。
1 | sudo vi /etc/docker/daemon.json |
重启 docker 服务
1 | sudo systemctl restart docker |
8. Docker 拉取 Code-Server 镜像, 并启动容器
拉取镜像:
1 | docker pull codercom/code-server |
启动容器:
1 |
|
将容器设置为开机启动
1 | docker update --restart=always code-server |
在宿主机上用浏览器打开http://cloud_vm_ip:8080, 即可访问 code-server, 密码可以在容器的~/.config/code-server/config.yaml 中找到.
可以使用如下命令查看密码
1 |
|
9. 安装插件以及配置 code-server
打开访问 code-server, 例如 http://localhost:8080
打开终端,输入以下命令,即可安装插件
例如:
1 | code-server --install-extension eamodio.gitlens |
code-server 配置,可参考我的博客 VSCode 基本配置指南 | 鹏叔的技术博客 以及 vscode 常用快捷键 | 鹏叔的技术博客
10. 关联阅读
- Vultr + Code-server 自建 Cloud IDE
- vscode 常用快捷键
- Fedora linux 上安装 Visual Studio Code
- 如何升级 vscode
- VSCode 基本配置指南
另外,若要获取最近更新, 请访问原文基于 Code-server vscode 的云开发环境 | 鹏叔的技术博客
11. trouble shooting
- 解决 docker 无法启动,报:start request repeated too quickly for docker.service 错误
参考 https://blog.csdn.net/weixin_39246554/article/details/121800320
12. 参考文档
基于 Code-server 快速部署自己的云开发环境