本文關鍵字: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守護,自帶開發環境了。
(此處不設回複,掃碼到微信參與留言,或直接點選到原文)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SZlZ2M0IDOkRWO1czM1QTOyUmZ0gjMyYzYwYzMwMGZ48CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)