会社と家で同じ環境で開発できるようにvscode拡張のSetting Sync(設定同期)とRemote Development(リモート開発)を使ってみた。
通常のIDEでリモート開発すると、一度ローカルに全部のファイルを落としてきて、ローカルで修正(ついでにWebサーバにも自動アップロード)ってのが一般的だと思うけど
1, テレワークで、日によって会社と家の各ローカルだと最新の修正が、今のローカルにない
2, webサーバの容量が100GB以上あって、全てローカルに持ってくるのは難しい。
という問題点があるので、sshでvi修正するみたいな感じでIDE環境が使えるRemote Development(Remote SSH)を導入してみた。
Setting Sync(設定同期)は最初から入っていて、githubのgistを使って設定ファイルを同期するみたい。
Remote Developmentは、普通に拡張機能を検索してインストールする。Remote WSL, Remote SSH, Remote Containersの3種類セットみたい。
左カラムのリモートエクスプローラーをクリックして、SSH Targetsタブをクリックすると、接続先が設定できる(.ssh/configの設定を読み込んでる)
1, IDE画面から、接続先OSと秘密鍵のパスフレーズを入力したから自動的に設定されるのかと思ったら、自分で入力しないとダメだった…。環境による?
C:\Users\自分のユーザ名\AppData\Roaming\Code\User\settings.jsonに、
1-a, ssh接続情報ファイルのパス(remote.SSH.configFile)
1-b, それぞれのssh接続名(Host)に対して、OS(linux/mac/windows)を、ちゃんと指定する必要がある(remote.SSH.remotePlatform)
1 2 3 4 5 6 7 8 |
{ "remote.SSH.configFile": "C:\\Users\\自分のユーザ名\\.ssh\\config", "remote.SSH.remotePlatform": { "ec2": "linux", "lightsail": "linux", } } |
2, なんかエラーになるな…。と思ったら、ホームディレクトリの書き込み権限が無かった…。
このスクリプトを書いた人も、ホームディレクトリの書き込み権限が無いとは夢にも思わなかったんだろうな~。
1 |
mkdir: cannot create directory ‘/var/www/vhosts//.vscode-server’: Permission denied Creating the server install dir failed... |
3, vscodeの参照するファイルが多すぎる!(120GBくらいある…。)ので、/etc/sysctl.confに以下の1行を追加して
fs.inotify.max_user_watches=524288
参考URL
https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc
便利かと思ったけど、古いソースの場合なんか色々と大変だった・・・。
これでどこだろうと、macだろうとサーバ上のソースを、vscodeから修正できるようになった