GitHub Codespacesとは
- Remote Development用のVMをクラウドに立てて、ローカルのブラウザもしくはVisual Studio Codeから接続して利用できる。
- 2 core x 60時間 (4 core x 30時間) + ストレージ 15GB まで無料で利用できる。
簡単な使い方
-
Codepacesを管理 (新規作成、起動・停止、削除) する。
- GitHub Codepacesの開発者コンソールから行える。
-
現在の使用量を確認する。
- Billing and plansのUsage this month / Codespacesを参照する。
- 参考:Viewing your GitHub Codespaces usage
-
Visual Studio Codeから接続する。
- GitHub Codespacesプラグインをインストールする。
-
Ctrl + Shift + P
→Codespaces: Sign In
→ ブラウザでログイン (OAuth2連携) →Ctrl + Shift + P
→Codespaces: Connect to Codespace
-
起動したアプリにアクセスする。(Webアプリの場合)
- VM上で起動したアプリに接続するにはPort Forwardingが必要となる。(参考:Forwarding ports in your codespace)
- アプリ起動時にOutputに
http://localhost:3000
のようなURLが出力されると自動でポート転送が設定される他、PORTSパネルから手動で設定することもできる。 - Visual Studio Codeで接続している場合は端末のポート転送も自動で設定されるため
localhost
でアクセスができる。 - ブラウザで接続している場合は、VisibilityがPrivateのポート転送ではGitHubの認証が必要なので、同じブラウザでアクセスするか、ブラウザが使うCookieをコピー(する必要がある。(参考:Security in GitHub Codespaces)
- アプリ起動時にOutputに
- VM上で起動したアプリに接続するにはPort Forwardingが必要となる。(参考:Forwarding ports in your codespace)
トラブルシューティング
-
ブラウザで接続したときに以下のService Workerのエラーが表示される。
Error loading webview: Error: Could not register service workers: NotSupportedError: Failed to register a ServiceWorker for scope
- 3rd Party Cookieを無効化していると、このエラーが発生する。クロスサイトでロードしたスクリプトでServce Workerを登録しているようで、ブラウザで利用するときには3rd Party Cookieを許可する必要がある。