3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHubからVS Codeでクラウド開発環境(Codespaces)を即座に立ち上げる方法

3
Posted at

GitHub には 「Code」ボタンから即座にクラウド開発環境を立ち上げる機能(GitHub Codespaces) が用意されています。
これを使うと、環境構築なしで VS Code 上に開発環境を一瞬で用意できるようになります。

この記事では、

  • GitHub から Codespaces を立ち上げる方法
  • ローカル VS Code で Codespaces を開く方法
  • Codespaces の仕組み(クラウド上の VM+Dev Container)
  • .devcontainer がある場合/ない場合の違い

をまとめて解説します。

1. Codespaces とは何か?

GitHub Codespaces は、GitHub がクラウド上に用意した開発用 VM(仮想マシン)+ Docker コンテナです。
https://github.co.jp/features/codespaces

ポイントは:

  • コードも処理もクラウド側で動く
  • ローカル VS Code は UI だけを担当
  • ブラウザ版 VS Code(vscode.dev)でも同じように接続できる

つまり、ローカル環境を汚さずに、クラウド上で統一された開発環境を使えるという仕組みです。

[ローカル VS Code]  ← リモート接続 →  [GitHub Codespaces VM]
                                           └─ [Dev Container (Docker)]

2. GitHub から Codespaces を即座に立ち上げる方法

GitHub のリポジトリ画面で Code → Create codespace を押すだけです。

  1. GitHub のリポジトリを開く
  2. 緑の Code ボタンをクリック
  3. Codespaces タブを選択
  4. Create codespace on main をクリック

image.png

これだけで、クラウド上に開発環境が立ち上がり、ブラウザ版 VS Code が起動します。

生成された Codespace には自動的に名前が付けられます。Dockerのコンテナやk8sのPodと似ていますね。
今回私は animated broccoli となりました。

ローカルのVSCodeを使用したい場合は、その後生成されるCodespaces横の三点リーダー(…)から、Open in Visual Studio Code を選びます。

image.png

余談ですが、ブラウザ版のVSCodeを一度も立ち上げたくなかったら、
GitHubのCodespaces設定欄でデフォルトを変更することもできます。

https://github.com/settings/codespaces

image.png

なお、VSCodeとの連携は下記を参照するとよいです。
https://docs.github.com/ja/codespaces/developing-in-a-codespace/using-github-codespaces-in-visual-studio-code

3. ローカル VS Code で Codespaces を開く方法

Codespaces はブラウザだけでなく、ローカル VS Code からも接続できます

必要なもの

  • VS Code 本体
  • GitHub Codespaces 拡張
  • GitHub アカウントでのサインイン

開き方(2通り)

① ブラウザの Codespaces 画面から開く

Codespaces を開いた状態で右上の:

「Open in…」 → 「Open in VS Code」

をクリックすると、ローカル VS Code が起動して接続されます。


② VS Code 側から直接開く

VS Code のコマンドパレット(Ctrl+Shift+P)で:

  • Codespaces: Connect to Codespace

を選ぶと、一覧から選んで接続できます。

4. .devcontainer は必須?何が動いているの?

結論:必須ではないが、あると Codespaces の環境を完全にカスタムできる。

.devcontainer がある場合

プロジェクト内の .devcontainer/ フォルダが最優先で参照されます。

例:

.devcontainer/
 ├─ devcontainer.json
 ├─ Dockerfile(任意)
 └─ その他設定

これにより:

  • 使用する Docker イメージ
  • Node / Python / Go などのバージョン
  • VS Code 拡張
  • 環境変数
  • ポート設定
  • 起動スクリプト

などを自由に定義できます。

プロジェクト専用の開発環境を完全に再現できるのが強みです。


.devcontainer がない場合

GitHub が用意した デフォルトの Dev Container が使われます。

内容は:

  • Ubuntu ベース
  • Git / Node / Python / Go / Java など一般的なツール
  • GitHub CLI
  • よく使われる VS Code 拡張

つまり、汎用的な開発環境が自動で立ち上がります。

5. ローカル clone 開発との違い

GitHubが用意した環境で実行するという制約上、開発の分野に得意・不得意が生じます。

軽量なWeb / API / フロントエンド開発であればCodespacesが便利ですが、
ML / ゲーム 等の GPU 必須な開発は不向きといえるでしょう。

また、無料枠には使用可能時間に制限があることはデメリットです。
デフォルトでは60時間となっています。(120時間/2core)

項目 ローカル clone Codespaces
コードの場所 PC クラウド
実行場所 PC クラウド
環境構築 自分でセットアップ 自動(.devcontainer)
オフライン 強い 弱い
GPU 使える 使えない
チーム開発 差異が出やすい 全員同じ環境
利用制限 なし 無料枠に時間制限あり

※ 時間は「Codespace が起動している時間」でカウントされる
(閉じ忘れに注意)

予期せぬ支払いが発生しないため、念のためGitHubのbudgetの設定を確認しておくとよいです。
(デフォルトでは無料枠を使い果たすと単に使えなくなるだけのため問題はない)

6. まとめ

  • GitHub の Code → Create codespace で即座にクラウド開発環境が立ち上がる
  • ローカル VS Code からも接続可能
  • Codespaces は クラウド上の VM+Dev Container
  • .devcontainer があると環境を完全にカスタムできる
  • ローカル clone と Codespaces は「コードの場所」「実行場所」「環境構築」が根本的に違う

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?