扫码阅读
手机扫码阅读

Odoo 的“开发伴侣”——Vscode Online

384 2023-09-07

点击上方“神州数码云基地,查看原文


付天愿

高级后端开发工程师

一枚擅长后端开发的钓鱼爱好者



特点一:跨平台

VSCode Online 基于浏览器,可以实现跨多平台的访问。可以在任何 PC、Pad 或移动设备上不限工作环境地进行在线项目的开发。

也就是说, 只要你的设备能够联网并且有一个浏览器,就能运行 VSCode Online 来进行需求开发,提升开发体验。

特点二:自定义

你可以通过安装各种 VSCode 插件将 VSCode Online 配置成适合自己的 IDE,也可以配合多插件进行多语言多项目开发。

特点三:安全性

部署云端服务器较为安全,支持密码登录,支持 https。

下面我们来看看

配置 VSCode Online 的三种方案

配置方案

方案一

微软官方提供一个 VSCode Online 的收费版本(含azure的服务器费用,属于捆绑销售)

由于微软服务器在国内打开 非常卡,费用较贵不推荐

方案二

VSCode 是基于 node 的 electron 框架开发的 IDE 工具,我们可以下载 VSCode 源代码,编译以后通过 yarn web 来启动。

该方案 配置难度大,不支持权限校验。安全性需要自己控制,配置较为繁琐。这个方案我们也 不推荐

方案三

通过 Code-Server 安装,也是我们 推荐的方法。

下面是具体的

配置方法

基本方案:服务器安装

前提条件

需要一台有公网 ip 的 linux 服务器,可以使用阿里云或者腾讯云服务器

部署方案

在 cdr/code-server 的 README 中, 提供了 两份部署指南:

一份是用于部署在 AWS 等 云服务的deploy

另一份则是我们要用的用于部署在 本地服务器的脚本 install.sh 安装

首先介绍第一种方案,执行一键安装脚本。

curl -fsSL  | sh# 显示一下内容,表示成功安装VSCode OnlineTo have systemd start code-server now and restart on boot: sudo systemctl enable --nowcode-server@$USER Or, if you don't want/need a background service you can run: code-server

Step 1

服务基本配置编辑

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:8080auth: passwordpassword: 1a980e91db7a998a2a7c72efcert: false# 第一行代表服务器的端口,127.0.0.1代表这是本机的ip,为了能在公网上运行,我们需要改成0.0.0.0。默认端口8080,你也可以改成自己的端口# 第二行auth代表是否需要密码来校验权限,# 第三行的password是自动生成的密码。这里你可以改成你自己常用的密码。

编辑好配置文件:

bind-addr: 0.0.0.0:把中文替换成你自己喜欢的端口,默认8080auth: passwordpassword: 把中文替换成你常用的密码cert: false

Step 2

通过 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 :你设置的端口[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

Step 3

你可以在浏览器上输入你的 ip+ 端口进行访问:

输入配置密码即可访问。

VSCode 可以安装配置和运行调试代码,基本功能和桌面版 VSCode 相同。

/ VSCode Online

Step 4

后台启动服务,使用命令启动。关掉 SSH 链接服务器即关闭。

简单可以使用自定义启动脚本保持后台运行:

nohup ./bin/code-server >nohup.out 2>&1 &

进阶方案:K8S 云服务部署

前提条件

K8S 服务集群搭建好

使用 Rancher 进行部署

若还未搭建 K8S 集群可以参考下面的链接文章—— K8S 实战之概念、集群部署与服务配置 》

https://zhuanlan.zhihu.com/p/79129668

通过 Rancher 部署工作负载

Step 1

设置工作负载名称,多人配置使用可以通过自定义规则。

这里我通过公司分配好的 itcode 进行设置即可:code-server-员工 itcode、pull code-server 的官方镜像

网速较慢可以通过国内的镜像源 pull,设置好pod 资源 deploy 应用,选择已经创建好的命名空间即可。

Step 2

端口映射配置

设置端口映射名称,默认容器端口为 8080 即可。

设置网络模式可根据 K8S 的集群可用的网络集群进行选择。

我们的方案通过 Rancher 配置了负载均衡规则,就选择集群 IP 作为参考,其他的模式可以根据自定义 K8S 方案自行选择配置即可。

Step 3

设置环境变量,设置 PASSWORD 环境变量,即为 pod 应用的启动访问密码。

Step 4

数据持久化设置

若还没新建 PVC ,可以通过 添加卷方式或者通过 Rancher 资源的 PVC 设置,添加好数据卷。

数据卷容量根据开发使用需求可以分配 code-server 的持久化数据卷容量大小。

本方案选择已经提前配置好的 PVC,挂载到对应 pod 应用容器默认路径即可,也就是:

/home/coder/project

Step 5

其他可选配置

主机调度、健康检查、缩放/升级策略可根据自定义的 K8S 集群自行设置,配置完毕启动即可。

Step 6

访问服务,查看 pod 资源已经是 running 状态即可。

即可通过 Rancher 设置好的集群 IP+ 开放端口访问。Rancher也可以配置SSL也可以开放443端口访问。

通过配置负载均衡添加规则,规则名称保持code-server-员工itcode 一致即可。

确保命令空间和工作负载 pod 应用是一致的,规则选择默认即可。

SSL/TLS 证书这里我使用已经导入配置好的证书和对应域名,自定义 K8S 集群按照自己配置好的证书和域名使用即可。

配置完毕,即可通过 https:code-server-xxx.自定义 ssl 证书对应域名。

通过 Rancher 的集群部署之后,

再配合公司内部的集群 IP 设置,

分配给员工个人专属的 Vscode Online 开发环境,

提升员工项目开发体验,

下面以 Odoo 在线开发为例。

Step 1

通过 git 克隆odoo项目:

git clone []()

Step 2

安装 Odoo 项目依赖库:

pip install -r requirements.txt

Step 3

配置工作区启动 debug launch.json 文件。

pythonPath:配置容器的 python 环境路径

program:配置 Odoo 启动路径

args:配置 Odoo 启动参数,默认只需要加上 conf 项目配置路径即可,若第一次启动可以添加  "-i base" 参数强制初始化数据库

Step 4

通过 VScode 配置好启动文件,启动 Odoo 服务,即可断点调试开发项目


想要了解更多,点击 查看原文