はじめに
プログラミングスクールでは、VsCodeだけを使用してきたわーちゃんにとって「GitHub Codespaces」の存在は知っていたけど、Notouchの機能でした。
今回UdemyでGitHub Codespacesを使用する事になった時「疑問に思ったこと」「困った事=起動&停止&再開の方法」について書き留めておきたいと思います
⚠️2025年3月現在のものです。
対象者
- Github CodeSpaceの起動・停止・再開方法を知らない方
🌱改めて講座学習進めているけどふと疑問に感じた事から
GithubCodespaceを起動した後、時間内に終えられなかった時、データはそのままにしたいし、単純にタブを閉じてしまうと何か害があるのかどうか(例えばインストールしたRubyが消えてしまったり?)
1. タブを閉じるとどうなる?
単純にブラウザのタブを閉じるだけなら、Codespaceのコンテナは一定時間後に自動的に停止状態となる(通常、30分程度の非アクティブ時間で自動停止)
✅ データは保持されるので、再開すれば続きから作業可能
❌ ただし、コンテナが削除されると、ローカルにインストールしたパッケージ(Rubyなど)は消える可能性がある
2. 確実にデータを保持する方法
- 保存が必要なデータ(コード・設定ファイル)はリポジトリにプッシュしておく
- Rubyなどの環境設定を保持するなら、
devcontainer.jsonに必要なセットアップを記述しておく -
~/.bashrcや~/.zshrcなどの設定ファイルをリポジトリにバックアップする
3. Codespaceの正しいシャットダウン方法
タブを閉じるだけでも問題はないが、確実に停止させたい場合は以下の手順を実行する事となる
方法1: GitHub UIからシャットダウン
- GitHub Codespacesにアクセス
- 「Your Codespaces」に一覧が表示される
- 停止したいCodespaceの「…」をクリック → 「Stop Codespace」 を選択
方法2: ターミナルからシャットダウン
Codespace内のターミナルで、以下のコマンドを実行
exit
// または
sudo shutdown now
4. Rubyなどが消えないようにする方法
問題: Codespaceは停止されてもデータは保持されるが、削除されると環境設定(Rubyのインストールなど)が失われてしまう
解決策: devcontainer.json にRubyのインストール手順を追加する。
-
.devcontainer/devcontainer.jsonを開く(なければ作成) - 以下のように記述して、Ruby環境を自動セットアップする
{
"features": {
"ghcr.io/devcontainers/features/ruby:1": {
"version": "3.2"
}
},
"postCreateCommand": "bundle install"
}
💡 メリット:
- Codespaceを削除・再作成しても、Ruby環境が自動的にセットアップされる
- インストールをやり直す手間が省ける
5. Codespaceを消したくない場合
- 自動削除を防ぐには → 定期的に開いておく(GitHubの無料プランでは30日以上使わないと削除される)
-
データをGitHubにプッシュする →
git push origin mainなどでリポジトリに保存
ここまでのまとめ
✅ タブを閉じるだけなら問題ないが、しばらくするとコンテナが停止する
✅ 環境(Rubyなど)を保持したいなら、devcontainer.json に設定を記述
✅ 確実にシャットダウンするなら exit や GitHub UI から「Stop Codespace」
✅ データを失わないよう、コードは定期的にGitHubにプッシュ
翌日に作業を再開する方法
✅ ステップ1. GitHub Codespace をシャットダウンせず、そのままタブを閉じる
- 自動的に一定時間後に「停止」状態になる。(消えはしない)
✅ ステップ2. 翌日 GitHub から再開
- GitHub Codespacesにアクセス
- 「Your Codespaces」に前回の環境が残っているのでクリック
- そのまま開けば前回の続きができます 🎉
または、リポジトリのページから
- 「<> Code」→「Codespaces」タブ → 前回の Codespace を開く
- VSCode の「Remote Explorer」→「Codespaces」→ 開く
環境が消えないようにする対策
🚨 コンテナが削除されると、Ruby や Rails が消える可能性あり!
削除を防ぐため、最低限やるべきこと 👇
-
作業内容をリポジトリにプッシュ
(これでコードは GitHub に保存されるので、万が一コンテナが消えても復元できるはず。
git add .
git commit -m "作業を保存"
git push origin main
-
Ruby & Rails をセットアップする
devcontainer.jsonを作成
今後、コンテナが削除されても環境を復元できるようにするために、.devcontainer/devcontainer.jsonに Ruby & Rails のセットアップを記述する方法もある
🛠 例: Ruby 3.2 & Rails をインストールする devcontainer.json
{
"features": {
"ghcr.io/devcontainers/features/ruby:1": {
"version": "3.2"
}
},
"postCreateCommand": "gem install rails"
}
もしコンテナが削除されたらどうなる?
- リポジトリに push していれば、コードは復元できる
devcontainer.jsonを設定していれば、環境を自動構築できる- リポジトリを clone して Codespace を作り直せば OK
git clone https://github.com/あなたのユーザー名/リポジトリ名.git
ここまでのまとめ
✅ タブを閉じても Codespace は一定時間後に「停止」するだけなので、翌日そのまま開けばOK
✅ GitHub Codespaces ページから、前回の環境を開く
✅ 作業を GitHub にプッシュしておけば、万が一消えても復元可能
✅ devcontainer.json を作っておけば、環境構築を自動化できる
画像で確認。起動、停止、再開
はじめに「Codespaces」をクリックして「Create Codespaces on main」から起動しました。
別タブでVsCodeのようなエディタが表示されます。
つまり、「クラウド上」に開発環境が作成され「Webブラウザ」でエディタを表示している状態になるます。
※おそらく初回起動時は自動的に別タブで表示される
起動しているとき、Github側?の「Codespaces」は下記のようになっています
「Active」と表示されていて「今動いているよー」という事がわかります。
ではここから、停止するには?
同じ画面で「Active」の横にある「・・・」ボタンを押すと「Stop codespace」があるのでこちらを推せば停止することができます。
⚠️初期状態では「Auto-delete codespace」にチェックが入っているので、自動で削除されないためにもチェックは外しておいた方がいいかもしれません
「Stop codespace」を押すことで下記のような画面になります。

再開は?
先程のGithub側「・・・」から「Open in Browser」を選択することで再開することができます

そのままとじたらどうなるのか
「Codespaces」で起動したタブをそのまま閉じると、Github側の方では「Active」のままになります。
ですので手間かもしれませんが「・・・」から「Stop codespace」を選択するのが一番安全な方法なのではないかと思います。
おわりに
色んなエディタがある中でこれが一番いい。といったものは人それぞれですが、触れることができるなら、いろんなものに触れてみたい。頭のいい柔軟体操にもなりそうw
新しい機能やツールには恐れずにまずは試してみて知見を広げていきたいと思います。



