【2025年】ハッカソンで活用できそうなGitHubの機能 - GitHub Codespaces 編
コラボレーションプラットフォームである『GitHub』からは現在、様々な機能が提供されています。
そこで、短期間に集中して作業を行う『ハッカソン』において、相性抜群のGitHubの機能があるので見ていきましょう。
What are GitHub Codespaces?
codespace は、クラウドでホストされている開発環境です。 構成ファイルをリポジトリにコミットすることで、GitHub Codespaces のプロジェクトをカスタマイズできます。これにより、プロジェクトのすべてのユーザーに対して繰り返し可能な codespace 構成が作成されます。codespace には、ブラウザー、Visual Studio Code、 または GitHub CLI を使って接続できます。
作成されるcodespaceは、仮想マシン上で実行されたDockerコンテナーがGitHubによってホストされて提供される開発環境になります。
従いまして、Dockerコンテナーのメリットである下記の点も受けられます。
- 軽量性(軽量で高速に作成、起動、停止、削除が可能)
- 移植性(コード化されたファイルを共有することで、どこでも誰でも同じ環境が作れるため、開発環境の統一が簡単になる)
共有・使い捨てが容易なフットワークの軽い開発環境が手に入るという見方をしても良いですね!
ハッカソンにおいては開発環境構築の際に試行錯誤(環境を作っては消し)が効率的に行えるのと、作った環境をチームメンバーに共有までが簡単に行えます。
ちなみに、GitHub Codespacesは、個人用アカウントなら無料でも使えてしまいます!
無料で使える範囲
公式ドキュメントに記載の120時間は1コアあたりなので、用意されている最小構成が2コア〜のため、実質は最大60時間が無料になります。
始め方
GitHub Codespacesの始め方はとても簡単です。
いくつか方法がありますが、今回はVS Codeを使ったパターンで始めたいと思います。
下記のようにVS Code上から作業したいリポジトリを選んでcodespaceを作成することができます。
もしくは、WEBブラウザから作業したいリポジトリにアクセスして、codespaceを作成するパターンもできます。
ハッカソンでの作業を強力にサポート、おすすめの活用2選
開発環境をチーム内で統一する
Dev Containersを使ってカスタマイズしたcodespaceの開発環境を事前に用意できるのがとても強力です。この機能により、チームメンバーに環境を共有できるので、従来あった開発環境を各自が整えるのに時間がかかるといったことが無くなります。
下記は開発環境の構成を作成している例です。devcontainer.jsやDockerfileを作成し(各ファイル内に構成の定義があります)、Rebuildして再起動すると定義した構成でcodespaceが使える状態になります。
これらのファイルをリポジトリに反映すれば、同じリポジトリでcodespaceを開いたチームメンバーは、codespaceを起動するだけで同じ開発環境を手に入れることができ、開発環境をチーム内で簡単に統一できます。
ポートの転送機能を利用する
GitHub Codespacesでは、ポートの転送を簡単に使える機能が提供されています。特定のポートで起動しているWEBアプリケーションにポートフォワーディングしてくれ、『public』の設定を行うとインターネット上からもアクセスできる公開状態になります。(外部ユーザーに一時的にWEBアプリケーションにアクセスさせたい時などに使えるかもしれませんね。)
and more..
学生の方向けの情報
GitHub Codespaces: 検証済みの学生は、個人アカウントに対して GitHub Codespaces を無料で使用できます (1 か月あたり最大 180 コア時間)。 学生が使用できるストレージとコア時間の月間使用量は、GitHub Pro アカウントに含まれる量と同じです。 詳しくは、「GitHub Codespaces の課金」をご覧ください。GitHub Codespaces を使い始める方法の詳細については、「GitHub Codespaces のクイックスタート」を参照してください。
GitHubは学生向けの無料枠があるなど支援が手厚いです。学生の方は利用を検討してみると良いかもしれません。✨
おわりに
手軽さとカスタマイズ性、そして低コスト!GitHub Codespacesはハッカソンでも結構使えるのではないでしょうか?💪
なお作成したcodespaceの環境は、放置しておくとデフォルト30日で自動削除されてしまいます。ハッカソンが終わったあとは忘れがちかなと思いますので、気にしておくと良さそうですね。
GitHub Codespaces、ぜひ使ってみてください!
Happy coding!
Discussion