0
0

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 Codespacesにて疑問と一時停止と再開と諸々と

Posted at

はじめに

プログラミングスクールでは、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からシャットダウン

  1. GitHub Codespacesにアクセス
  2. 「Your Codespaces」に一覧が表示される
  3. 停止したいCodespaceの「…」をクリック → 「Stop Codespace」 を選択

方法2: ターミナルからシャットダウン
Codespace内のターミナルで、以下のコマンドを実行

exit

// または
sudo shutdown now

4. Rubyなどが消えないようにする方法

問題: Codespaceは停止されてもデータは保持されるが、削除されると環境設定(Rubyのインストールなど)が失われてしまう
解決策: devcontainer.json にRubyのインストール手順を追加する。

  1. .devcontainer/devcontainer.json を開く(なければ作成)
  2. 以下のように記述して、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 から再開

  1. GitHub Codespacesにアクセス
  2. 「Your Codespaces」に前回の環境が残っているのでクリック
  3. そのまま開けば前回の続きができます 🎉

または、リポジトリのページから

  • 「<> Code」→「Codespaces」タブ前回の Codespace を開く
  • VSCode の「Remote Explorer」→「Codespaces」→ 開く

環境が消えないようにする対策

🚨 コンテナが削除されると、Ruby や Rails が消える可能性あり!
削除を防ぐため、最低限やるべきこと 👇

  1. 作業内容をリポジトリにプッシュ
    (これでコードは GitHub に保存されるので、万が一コンテナが消えても復元できるはず。
git add .
git commit -m "作業を保存"
git push origin main
  1. 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"
}

もしコンテナが削除されたらどうなる?

  1. リポジトリに push していれば、コードは復元できる
  2. devcontainer.json を設定していれば、環境を自動構築できる
  3. リポジトリを clone して Codespace を作り直せば OK
git clone https://github.com/あなたのユーザー名/リポジトリ名.git

ここまでのまとめ

タブを閉じても Codespace は一定時間後に「停止」するだけなので、翌日そのまま開けばOK

GitHub Codespaces ページから、前回の環境を開く

作業を GitHub にプッシュしておけば、万が一消えても復元可能

devcontainer.json を作っておけば、環境構築を自動化できる

画像で確認。起動、停止、再開

Image from Gyazo

はじめに「Codespaces」をクリックして「Create Codespaces on main」から起動しました。
別タブでVsCodeのようなエディタが表示されます。
つまり、「クラウド上」に開発環境が作成され「Webブラウザ」でエディタを表示している状態になるます。
※おそらく初回起動時は自動的に別タブで表示される

Image from Gyazo

起動しているとき、Github側?の「Codespaces」は下記のようになっています
「Active」と表示されていて「今動いているよー」という事がわかります。

Image from Gyazo

ではここから、停止するには?
同じ画面で「Active」の横にある「・・・」ボタンを押すと「Stop codespace」があるのでこちらを推せば停止することができます。

⚠️初期状態では「Auto-delete codespace」にチェックが入っているので、自動で削除されないためにもチェックは外しておいた方がいいかもしれません

「Stop codespace」を押すことで下記のような画面になります。
Image from Gyazo

「Codespaces」の方は👇のような画面になります
Image from Gyazo

再開は?

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

そのままとじたらどうなるのか

「Codespaces」で起動したタブをそのまま閉じると、Github側の方では「Active」のままになります。
ですので手間かもしれませんが「・・・」から「Stop codespace」を選択するのが一番安全な方法なのではないかと思います。

 

おわりに

色んなエディタがある中でこれが一番いい。といったものは人それぞれですが、触れることができるなら、いろんなものに触れてみたい。頭のいい柔軟体操にもなりそうw
新しい機能やツールには恐れずにまずは試してみて知見を広げていきたいと思います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?