因近來轉到新公司及了解到同事的開發環境後,停滯了一、二個月的我趁著放假便做一點實驗。
很多時候,WEB開發員會在工作電腦上編程,再上傳(如透過FTP / SFTP / Webdav / CMS Client等) 檔案到遠端服務器做測試(也可能為了看看結果)。也有些開發員會透過SSH直接在遠端或VM做編程,其原因是遠端服務器多為Linux環境,能直接在服務器上邊開發邊測試就最理想了。
今天就想嘗試有什麼方法可以令開發更方便。
SSHFS
(其實這個方法是後來試的,因為覺得很直接實用所以放到前面來。)
SSHFS即是以SSH為通道的遠端檔案系統,雖不像NFS、SMB,但看來也是不錯的選擇,因為大多數的涉及WEB的開發都會用SSH連線到主機。
Windows 中用SSHFS
我相信開發員中使用Windows系統仍然佔多數,所以要找一個在Windows中掛接SSHFS的方案,目前找到以下幾種方案:
今次我選擇Billziss的Windows File System Proxy (winfsp)免費方案。基本如下:
- 下載並安裝 winfsp
- 下載並安裝 ssh-fs
- 在Windows 下連接網絡磁碟(Map Network Drive)
- 在 "folder" 欄輸入:
\\sshfs[locuser=]user@host[!port][\path]
- 在 "folder" 欄輸入:
另外也有GUI - SiriKali, 但目前版本好像不相容所以未能成功。
如使用Key Auth,我會使用Putty 的Pageant (Putty Authentication Agent)
Visual Studio Code
近年來Visual Studio Code慢慢成為開發者的新寵,有一些Extension確實幫了一把。例如過住用過的 FTP-Simple (可SFTP)便可以很容易把當前檔案上傳到遠端服務器。
VS Code 中用 “SSHFS”
在VS Code中有不少方法可連到 SFTP/FTP的extension,這次找到了一個名為 SSH FS 的extension,但看清楚好像不是 SSHFS 而是SSH,只不過用了一會感覺比其他好,也支持 Pageant,如果不用 SSHFS (透過 Windows + WinFSP + SSH-FS),這個extension不錯。
另外還試了一個叫 "Remote Workspace" 的extension,能支持多種protocol,直接在VSCODE打開遠端的Workspace,只是還有點BUG,例如新增的空白文件(0 Byte)會導致無限等待。有待觀察。