Discuss

Setupvscodeonline

minlearn 仲裁员
板块:通用举报

在云主机上安装vscodeonline

本文关键字:teamviewer保持在线的替代品把vscode terminal当虚拟主机管理面板。remote-openfaas,打造vscodeos:用插件打通openfaas界面到vscodeonline,实现ide.sh与云函数容器对接

在前面《云主机上部署pai》,《云主机上部署openfaas》中,我们用同样风格的脚本写出了在云主机上部署的二个paas面板,pai类似虚拟主机管理器,而openfaas是paas->faas,综合这二者都是部署和devops面板,它们在透出的界面5523,8080处用web操作。然后我们在《戒掉PC,免pc开发,cloud ide and debug设想》又遇到了vscodeonline,这三者都是云主机构造paas APP以“在线开发和部署”的OS扩展,体验良好度又都有前后分离十分接近,因此,我们这次也把vscodeonline集成在这里,组成成为minstackos的主要部分。未来,我们把所有讲到的paas app用这些面板串联起来,使它们成为可一键在线开发和部署的APP,形成minstackos的appstore来源。

在《在openfaas面板上安装onemanager》中我们讲过云主机的ssh往往是很容易断的,如果是graphic linux下,需要tv这样的这样的远程桌面方案来保持长时间在线,但实际上,vscodeonline也有linux终端面板。remote-ssh连接的vscodeonline可以保持长时间ws在线而且可以点上面的一个图标扩展到整个IDE的编辑区。因此体验上,后者可成为前者的良好替代。

好了不废话了。下面依然在一台ubuntu 1h2g上进行。

基础

一些变量

MIRROR_PATH="http://default-8g95m46n2bd18f80.service.tcloudbase.com/d/demos"
# the code-server web ide
CODE_SERVER_PATH=${MIRROR_PATH}/codeserver

安装codeserver

脚本被做成融合成安装pai和openfaas的风格,按standalone方式安装,以root身份运行。你可以集成自己需要的语言和插件服务到这个IDE,以做到尽量开箱即用。

# install codeserver
installCodeserver() {

    echo "=====================codeserver install progress======================="
    msg=$(mkdir -p ~/.local/lib/code-server-3.5.0
    wget --no-check-certificate -qO- ${CODE_SERVER_PATH}/v3.5.0/code-server-3.5.0-linux-amd64.tar.gz > /tmp/code-server-3.5.0-linux-amd64.tar.gz && tar  -xvf /tmp/code-server-3.5.0-linux-amd64.tar.gz -C ~/.local/lib/code-server-3.5.0 --strip-components=1
    rm -rf /tmp/code-server-3.5.0-linux-amd64.tar.gz
    ln -s ~/.local/lib/code-server-3.5.0/bin/code-server ~/.local/bin/code-server
    PATH="~/.local/bin:$PATH"

   # systemd service start
    rm -rf ~/.config/code-server/config.yaml
    cat << 'EOF' > ~/.config/code-server/config.yaml

bind-addr: 0.0.0.0:5000
auth: password
password: pleasecorrectme
cert: false
EOF

   # systemd service start
    rm -rf /etc/systemd/system/code-server.service
    cat << 'EOF' > /etc/systemd/system/code-server.service

[Unit]
Description=code-server
After=network.target

[Service]
Type=exec
ExecStart=~/.local/bin/code-server
Restart=always
User=root

[Install]
WantedBy=default.target
EOF

    systemctl daemon-reload && systemctl enable code-server
    systemctl start code-server 2>&1)
    status=$?
    updateProgress 95 "$msg" "$status" "code-server install"
}

安装完成后记得修改~/.config/code-server/config.yaml下的密码,端口为5000。如果你要用上证书,就最好搭配脚本中的nginx+certbot申请的那个。cert: false也可以用假的localhost的那个,但是基本没有什么用。


其实,利用那个remote-container,可以把openfaas-cli跟vscode连起来,利用工程源文件下的yml模板(.pai.yml,openfaas-cli.yml,etc...)文件打造一个带开发部署的工程资源组织文件,形成remote-openfaas效果:多环境多语言下,需要频繁切换环境,一次开发总是跟一次塔环境开始的,这也是vagrant和docker对于开发的意义(以前是vm,没有模板机制),而docker用于开发也用于部署。以后一套APP天然就有一个online webide守护,自带开发环境了。


(此处不设回复,扫码到微信参与留言,或直接点击到原文)

minlearn.org,tg: minlearn_1keydd,本人长期接有偿付费dd。不会D的,和要定制镜像的都可以t我