Odoo的“开发伴侣”——VscodeOnline

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

付天愿

高级后端开发工程师

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

特点一:跨平台

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

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

特点二:自定义

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

特点三:安全性

下面我们来看看

配置VSCodeOnline的三种方案

配置方案

方案一

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

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

方案二

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

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

方案三

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

下面是具体的

配置方法

基本方案:服务器安装

前提条件

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

部署方案

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

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

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

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

Step1

服务基本配置编辑

code-server服务器安装目录/usr/lib/code-server

使用sh./bin/code-server启动服务。

若安装目录不相同可以用find-namecode-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

Step2

通过sh./bin/code-server启动服务,输出一下即可访问VSCodeOnline服务:

Step3

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

输入配置密码即可访问。

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

/VSCodeOnline

Step4

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

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

nohup./bin/code-server>nohup.out2>&1&

进阶方案:K8S云服务部署

K8S服务集群搭建好

使用Rancher进行部署

通过Rancher部署工作负载

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

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

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

端口映射配置

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

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

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

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

数据持久化设置

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

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

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

/home/coder/project

Step5

其他可选配置

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

Step6

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

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

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

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

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

通过Rancher的集群部署之后,

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

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

提升员工项目开发体验,

下面以Odoo在线开发为例。

通过git克隆odoo项目:

安装Odoo项目依赖库:

pipinstall-rrequirements.txt

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

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

program:配置Odoo启动路径

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

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

THE END
1.debain10系统codesudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/code-server.conf # 重启nginx服务器 sudo systemctl restart nginx 现在已经可以用普通端口访问了。接下来配置证书。 第三步,mkcert创建证书 mkcert是一个简单的零配置工具,由 Filippo Valsorda 使用 Go 编写,用于制作本地浏览https://www.jianshu.com/p/47ea4785ec37
2.Ubuntu安装codeserver在线编程环境cert:是否使用 SSL 证书,这里设置为false(后续可配置 SSL) 步骤六:设置 code-server 为 systemd 服务 创建systemd 服务文件,以便管理 code-server 的启动和停止。 sudonano /lib/systemd/system/code-server.service ? 解释: sudo:以超级用户权限执行 https://www.8kiz.cn/archives/23240.html
3.code中文翻译:当使用并非系统自动生成的证书时,对应的证书密钥所在的路径信息。 --disable-telemetry: 说明:禁用遥测功能。 中文翻译:关闭遥测相关功能,使其不再收集和发送相关数据信息。 --disable-update-check: 说明:禁用更新检查。若不添加此标志,code-server会每隔 6 小时对照最新的GitHub版本进行检查,并每周通知一次https://emchaye.cn/en/docs/tutorial-debian/20241217-02/
4.codeserver完整搭建指南第二种是在nginx端配置,如果你有宝塔面板的话只需要在反代code-server的域名处点击SSL证书设置,然后在两个框内分别填入私钥和证书,然后应用之后就可以启用HTTPS了。https://blog.mashiro.pro/1022.html
5.使vscode的code其中边缘证书并不能下载,而且(貌似)只对采用了代理模式的DNS解析生效,并且代理状态下code-server的延迟表现十分惊人(亲测),直接pass。 客户端证书中,官方已经写明:使用客户端证书保护和验证您的 API 和 Web 应用程序。,并不能部署到服务器上,继续pass。 https://www.feilongproject.com/2022/02/26/code-server-with-https/
6.C#IIS访问一个带证书的网站,提示SSLserverrequiresclient我已经把证书放到了程序的根目录了 Server.MapPath("test.cer")这一句我也添加过,不好使,request.https://bbs.csdn.net/topics/390828203
7.centos搭建codeserver配置HTTPS登录页自定义实现步骤其它综合在code-server配置文件文件中增加证书配置 vim /root/.config/code-server/config.yaml cert及cert-key位置根据自己证书位置进行配置 1 2 3 4 5 bind-addr: 0.0.0.0:8426 auth: password password: <你的密码> cert: /root/.local/share/code-server/cert/www.codecoord.com_public.crt cert-key: /root/https://www.jb51.net/article/283544.htm
8.vscode启动微服务vscode搭建服务器在新会话中执行code-server启动指令即可。 关闭ssh会话以后程序继续在后台运行。 code-server --cert [你的证书存放路径] --cert-key [你的key路径] --bind-addr 0.0.0.0:[你的端口号] 复制代码 1. 2. 需要再查看code-server运行状态的话,只需要访问code_server会话就行了。 https://blog.51cto.com/u_16213620/10823881
9.code打开浏览器,输入:http://xxx.xxx.xxx.xxx:8080即可访问 code-server。 配置 如果服务器没有域名或者没有安装证书,那么 http 协议的 code-server 是受限制的,如不能加载显示图片、视频(H264)等资源。一种简便的方法是 使用chrome 浏览器 打开chrome://flags/#unsafely-treat-insecure-origin-as-secure https://xujinzh.github.io/2024/04/10/install-code-server/
10.serverrequiresclientcertificateErrorCode:901第一步 打开“中国建设银行E路护航网银安全组件”,在弹出窗口点击“网银盾管理-基本信息”,查看是否显示证书信息。若未显示,页面提示 “未插入网银盾”,请点击这里,按照无法识别网银盾的处理方法进行操作。 若显示,请查看证书有效期(如已到期,需先更新证书),然后https://www.wusteel.cn/1409/
11.FreeSwitchTLS认证客户端证书Common Name (e.g. server FQDN or YOUR name) []:Freeswitch ROOT CA Email Address []:空 2、生成Server证书: 1)生成Server证书请求文件和私钥:openssl req -new -out server.req -newkey rsa:2048 -keyout server.key -nodes -sha1。 Country Name (2 letter code) [AU]:CN https://m.360docs.net/doc/8061faecf08583d049649b6648d7c1c709a10b02.html
12.知识库UCA Extended Validation Root - SHECA RSA Extended Validation Code Signing CA 47:74:36:AB:78:60:1E:7B:FF:CE:70:74:F0:8D:20:A5:C9:DA:84:FE 2033年4月27日 PEM UCA Extended Validation Root - SHECA EV Server CA G3 39:CC:AB:FD:AB:D0:54:3D:60:63:0A:21:25:8D:A4:09:BB:DC:39https://www.sheca.com/repository/
13.使用coderserver打造在线IDE腾讯云开发者社区具体部署可以参考官方文档:https://coder.com/docs/code-server/latest/install。 这里我们选择相对简单快捷的方式,Docker部署。 前置条件 在部署coder-server前,你需要准备一台Linux虚机(建议CentOS7),你可以去云厂商购买(用于生产),也可以使用VMware在个人电脑创建虚机(用于学习)。 https://cloud.tencent.com/developer/article/2025560
14.Exchange2019证书(CLIUSR)续订1.Exchange server 2019可以通过使用 Exchange Management Shell续订CLIUSR证书,建议使用以下格式的语法: Get-ExchangeCertificate -Thumbprint <Thumbprint> | New-ExchangeCertificate 2.该证书是由于环境中部署DAG而产生的,由Windows clustering管理的。 3.关于环境中出现两个同名的 cliusr 证书,建议您请检查这两个证书的https://learn.microsoft.com/en-us/answers/questions/1622938/exchange2019-cliusr
15.Compare,Download&DevelopOpenSource&BusinessSoftware8,953Code Commits Compare & Review Business Software SourceForge is a complete business software and services comparison platform where buyers find, compare, & review business software and IT services. Selling software? You're in the right place. We'll help you reach millions of intent-driven sohttps://sourceforge.net/
16.netcore证书形式调用接口返回302PayRequest(AliPayTypeEnum payType, AopObject payModel) in E:\V2_HeoProject\code\server\Heo_slnhttps://open.alipay.com/portal/forum/post/24901030
17.certd:开源SSL证书管理工具;全自动证书申请更新续期;通配符encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the https://gitee.com/certd/certd/