版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。
VSCode Online是微软推出在线的VSCode服务端,用户可以在线配置一个属于自己的,功能强大的在线IDE,不需要本地装VSCode软件配置环境,节省开发配置环境时间,达到桌面级得开发体验。
本方案有以下特点:
- 基于浏览器,实现超级跨平台访问,只要你的设备能联网并且有一个浏览器,就能运行VSCode Online进行需求开发。任何PC或者Pad或移动设备,可以不限工作环境进行在线项目得开发,提升开发体验。
- 一个功能完整的VSCode,你可以通过安装各种VSCode插件将其配置成适合自己的IDE,也可以配合多插件进行多语言多项目开发。
- 部署云端服务器较为安全,支持密码登录,支持https。
目前,配置VSCode Online有几种方法:
- 微软官方提供一个收费版本(含azure的服务器费用,捆绑销售),微软服务器在国内打开非常卡,费用较贵,不推荐。
- VSCode基于node的electron框架开发的IDE,自己下载VSCode源代码,编译以后通过yarn web启动。这个方案我们也不推荐,首先配置难度大,其次不支持权限校验。安全性需要自己控制,配置较为繁琐。
- 通过Code-Server安装,也是我们推荐的方法。
基本方案:服务器安装
1、需要一台有公网ip的linux服务器,可以使用阿里云或者腾讯云服务器
2、在cdr/code-server的README中, 提供了两份部署指南, 一份是用于部署在AWS等云服务的deploy, 另一份则是我们要用的用于部署在本地服务器的的脚本install.sh安装,首先介绍第一种方案,执行一键安装脚本:
curl -fsSL <https://code-server.dev/install.sh> | sh
# 显示一下内容,表示成功安装VSCode Online
To have systemd start code-server now and restart on boot: sudo systemctl enable --now
code-server@$USER Or, if you don't want/need a background service you can run: code-server
3、服务基本配置编辑,code-server服务器安装目录 /usr/lib/code-server,使用 sh ./bin/code-server 启动服务,若安装目录不相同可以 find -name code-server 这个命令找到。编辑配置文件 vim ~/.config/code-server/config.yaml ,默认配置内容如下:
bind-addr: 127.0.0.1:8080
auth: password
password: 1a980e91db7a998a2a7c72ef
cert: false
# 第一行代表服务器的端口,127.0.0.1代表这是本机的ip,为了能在公网上运行,我们需要改成0.0.0.0。默认端口8080,你也可以改成自己的端口
# 第二行auth代表是否需要密码来校验权限,
# 第三行的password是自动生成的密码。这里你可以改成你自己常用的密码。
编辑好配置文件:
bind-addr: 0.0.0.0:把中文替换成你自己喜欢的端口,默认8080
auth: password
password: 把中文替换成你常用的密码
cert: false
4、通过sh ./bin/code-server 启动服务,输出一下即可访问VSCode Online服务:
[2021-01-08T15:53:58.789Z] info code-server 3.8.0 c4610f7829701aadb045d450013b84491c30580d
[2021-01-08T15:53:58.794Z] info Using user-data-dir ~/.local/share/code-server
[2021-01-08T15:53:58.817Z] info Using config file ~/.config/code-server/config.yaml
[2021-01-08T15:53:58.818Z] info HTTP server listening on <http://0.0.0.0>:你设置的端口
[2021-01-08T15:53:58.819Z] info - Authentication is enabled
[2021-01-08T15:53:58.819Z] info - Using password from ~/.config/code-server/config.yaml [2021-01-08T15:53:58.820Z] info - Not serving HTTPS
5、你可以在浏览器上输入你的ip+端口,访问:
输入配置密码即可访问,VSCode正常可以安装配置和运行调试代码,基本功能和桌面版VSCode相同。
6、后台启动服务,使用命令启动 关掉SSH链接服务器即关闭,简单可以使用自定义启动脚本保持后台运行:
nohup ./bin/code-server >nohup.out 2>&1 &
进阶版:k8s云服务部署
部署步骤详解:
1、前提条件:k8s服务集群搭建好,本方案我使用rancher进行部署,若还未搭建k8s集群可以参考K8s 实战之概念、集群部署与服务配置 - 知乎 (zhihu.com) 。
2、通过rancher部署工作负载:
(1)设置工作负载名称,多人配置使用可以通过自定义规则,这里我通过公司分配好的itcode进行设置即可:code-server-员工tcode、pull code-server的官方镜像,网速较慢可以通过国内的镜像源pull,设置好pod资源deploy应用,选择已经创建好的命名空间即可。
(2)端口映射配置:设置端口映射名称,默认容器端口为8080即可,设置网络模式可根据k8s的集群可用的网络集群进行选择,这里我方案我通过rancher配置了负载均衡规则,就选择集群IP作为参考,其他的模式可以根据自定义k8s方案自行选择配置即可。
3.设置环境变量,设置PASSWORD环境变量即为pod应用的启动访问密码。
4.数据持久化设置:若还没新建PVC可以通过添加卷方式或者通过rancher资源的PVC设置添加好数据卷,数据卷容量根据开发使用需求可以分配code-server的持久化数据卷容量大小,本方案选择已经提前配置好的PVC,挂载到对应pod应用容器默认路径/home/coder/project 即可。
5.其他可选配置 主机调度、健康检查、缩放/升级策略可根据自定义的k8s集群自行设置,配置完毕启动即可。
6.访问服务,查看pod资源已经是running状态即可,即可通过rancher设置好的集群IP+开放端口访问。rancher也可以配置SSL也可以开放443端口访问。
通过配置负载均衡添加规则,规则名称保持code-server-员工tcode 一致即可,确保命令空间和工作负载pod应用是一致,规则选择默认即可,SSL/TLS证书这里我使用已经导入配置好的证书和对应域名,自定义k8s集群按照自己配置好的证书和域名使用即可,配置完毕,即可通过https:code-server-xxx.自定义ssl证书对应域名。
通过rancher的集群部署之后配合公司内部的集群IP设置,分配员工个人专属的vscode online开发环境,提升员工项目开发体验。
vsCode online在线Odoo开发体验
1、通过git克隆odoo项目:git clone [<https://github.com/odoo/odoo.git>](<https://github.com/odoo/odoo.git>)
2、安装odoo项目依赖库:pip install -r requirements.txt
3、配置工作区启动debug launch.json文件
pythonPath:配置容器的python环境路径
program:配置odoo启动路径
args:配置odoo启动参数,默认只需要加上 conf项目配置路径即可,若第一次启动可以添加 "-i base"参数强制初始化数据库
4.通过VScode配置好启动文件,启动Odoo服务,即可断点调试开发项目