天天看點

在雲主機上安裝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守護,自帶開發環境了。

(此處不設回複,掃碼到微信參與留言,或直接點選到原文)

在雲主機上安裝vscodeonline

繼續閱讀