GitHub CodespacesのRuby on Railsテンプレートで生成されるdevcontainer.json
2025/11/13
GitHub CodespacesのRuby on Railsテンプレートを使ってみた感想
はじめに
最近、GitHubのCodespacesで提供されているRuby on Railsのテンプレートを試してみました。この記事では、その理由や実際に使ってみて分かったこと、今後の方針についてまとめます。
なぜ使ってみたのか
現在、Ruby on Railsの入門講座を作ろうと考えています。 受講者の方にGitHub Codespacesを使ってもらう場合、どのバージョンのRailsが利用できるのかを事前に確認しておきたかったため、テンプレートを実際に使ってみました。
実際に使ってみて分かったこと
テンプレートを使って環境を作成してみると、デフォルトでインストールされるRuby on Railsのバージョンは7系でした。 現在の最新バージョンは8系なので、入門講座で使うには少し古いバージョンだと感じました。
独自テンプレート作成の必要性
入門講座ではできるだけ最新のバージョンを使いたいと考えているため、このままGitHubのテンプレートを使うのは難しいと感じました。やはり自分でRails 8系に対応したテンプレートを作成し、それを生徒さんに使ってもらうのが良いと判断しました。
DevContainerの設定は参考になる
一方で、テンプレートに含まれているDevContainer(devcontainer.json)の設定は非常に参考になりました。DevContainerの設定自体はRailsのバージョンに依存しない部分が多く、今後自分のテンプレートを作成する際にも活用できそうです。
実際生成されたdevcontainer.jsonの一部は以下の通りです。
{ "image": "mcr.microsoft.com/devcontainers/ruby:3", "hostRequirements": { "cpus": 4 }, "waitFor": "onCreateCommand", "updateContentCommand": "bundle install", "postCreateCommand": "", "postAttachCommand": { "server": "rails server" }, "customizations": { "codespaces": { "openFiles": [ "app/views/hello/index.html.erb" ] }, "vscode": { "extensions": [ "Shopify.ruby-lsp" ] } }, "portsAttributes": { "3000": { "label": "Application", "onAutoForward": "openPreview" } }, "forwardPorts": [3000]}まとめ
GitHubが用意しているテンプレートはdevcontainer.jsonは参考になるものの、 Railsのバージョンが古いため、そのまま使うのは難しいですね。 Rails8に対応した独自テンプレートを作成したいと思います。