検索
ニュース

「GitHub CodeSpaces」が役立つ活用シーンや便利な機能を紹介、月60時間まで無料ペアプログラミング、オンボーディング自動化

GitHubは2023年2月28日(米国時間)、公式ブログで「GitHub Codespaces」が役立つ活用シーンや便利な機能を紹介した。

Share
Tweet
LINE
Hatena

 GitHubは2023年2月28日(米国時間)、公式ブログで同社が提供する「GitHub Codespaces」が役立つ活用シーンや便利な機能を紹介する記事を公開した。

 GitHub CodespacesはGitHubが提供するブラウザベースの統合開発環境(IDE)だ。GitHubがホストする仮想マシン(VM)で、Codespacesの開発環境を提供する。全てのGitHubユーザーは毎月60時間まで無料でGitHub Codespacesを利用できる。

GitHub Codespacesが役立つシーン

画像生成AI「Stable Diffusion」の実行

 GitHub Codespacesを使うことで、与えられた文章を画像に変換するML(機械学習)モデルの1つである「Stable Diffusion」を実行できる。Stable Diffusionのようなデータ量の多いタスクを実行するには、通常、強力なGPUを搭載したPCが必要だ。

 GitHub Codespacesはマシンタイプを2コアから32コアまで設定可能でGPU搭載マシンのアクセスリクエストも利用できる。MLエンジニアがiPadやChromebookを使って、GitHub Codespaces経由でデータ量の多いディープラーニング関連の作業を行うこともできる。

チームメンバーやAIとのリモートペアプログラミング

 リモートワークにおいてコミュニケーションや技術スキル向上に役立つペアプログラミングの実施は難しいと言われる。GitHub Codespacesの場合、Live Share拡張機能と転送ポートを設定することで、リモートペアプログラミングができる。

 チームメンバーや共同作業者で、ローカルでホストされているWebアプリを利用することも可能だ。共有したいポートを右クリックすると、ポートを「非公開」から「公開」に切り替えられる。これにより、ローカルにホストされたWebアプリをチームメンバーや共同作業者も表示、テスト、デバッグできる。

 Visual Studio Codeのマーケットプレースには、AIによるコード補完ができる「GitHub Copilot」をはじめ、GitHub Codespacesに対応したさまざまな拡張機能が公開されている。GitHub Copilotを利用すればAIとペアプログラミングもできる。

ワークショップや教育現場でのコーディング指導

 人々にプログラミングを教えるのは難しい。とくにワークショップの場合、参加者の環境整備に時間がかかってしまうこともある。GitHub Codespacesを利用することで、設定した開発環境を参加者に共有できるため、すぐに作業を始められる。GitHubは「指導者の時間やストレス、混乱の軽減に役立つ」としている。

新しいフレームワークを学ぶ

 GitHub Codespacesを使うことで学習時間の短縮にもつながる。GitHub Codespacesには、フレームワークを学ぶことができる「クイックスタートテンプレート」を用意している。 クイックスタートテンプレートには、Next.js、React.js、Django、Express、Ruby on Rails、Preact、Flask、Jupyter Notebookなど、広く使われるアプリケーションフレームワークのボイラープレートコード、ネットワーク設定、開発コンテナを含んでいる。

 ソフトウェア開発者はワンクリックで、アプリケーションを構築、テスト、デバッグするためのサンドボックスを利用できるという。

ソフトウェア開発者のオンボーディング自動化

 ソフトウェア開発者は、チームに参加する際、自身のローカル環境をセットアップする必要がある。GitHub Codespacesを利用することで、このセットアップを含んだオンボーディングプロセスを自動化できる。

 新しいソフトウェア開発者がチームに加わったとき、Codespaceを開くことで、必要な拡張機能や依存関係、環境変数がCodespace内で用意されるため、環境のセットアップは不要になるという。

 GitHubによると、同社のエンジニアチームもGitHub.comの開発をGitHub CodeSpacesで行っているという。GitHub.comは14年間の開発を経てリポジトリのサイズが13GB近くとなり、macOSでの開発には、リポジトリのクローンや依存関係のセットアップ、起動で約45分かかっていた。現在はGitHub CodeSpacesを活用することで、約45分かかっていた工程を10秒まで短縮していると説明している。

技術面接の実施

 ソフトウェア開発者にとって、課題の提出やテクニカルスクリーン、ライブコーディングなどの技術面接の準備は簡単ではない。だが、設定済みのGitHub Codespaces環境を候補者に提供することで、その準備を簡素にできる。候補者も環境の設定などで悩む心配がなくなる。面接官はGitHub Codespacesを使ってリアルタイムにフィードバックを行い、Visual Studio Code Live Shareなどのツールを使って候補者とコラボレーションすることもできる。

GitHub Codespacesの便利な機能

コマンドラインからGitHub Codespacesを管理する

 うっかりドキュメントを閉じたり、PCが突然シャットダウンしたりして作業内容を消失させてしまうことがある。GitHub Codespacesを含む多くのエディターは作業内容を自動保存する機能を持ち、こうした事態の防止に役立っている。

 GitHubリポジトリにソースコードをプッシュ(送信)して、特定のcodespaceが不要になった場合は、GitHubの管理画面やGitHub CLIを通じて削除できる。

gh codespace create -r OWNER/REPO_NAME [-b BRANCH]
codespaceを作成するコマンド
gh codespace list
codespaceをリスト表示するコマンド
gh codespace delete -c CODESPACE-NAME
codespaceを削除するコマンド
gh codespace edit -c CODESPACE-NAME -d DISPLAY-NAME
codespaceの名前を変更するコマンド
gh codespace edit -m MACHINE-TYPE-NAME
codespaceのマシンタイプを変更するコマンド

環境変数の保存

 セキュリティの観点では、APIキーや環境変数、認証情報を秘匿することが望ましい。GitHub Codespaces secretを利用することでこれらの情報を保存できる。

 GitHub Codespaces secretに保存した後は、ソースコード内で以下のように記述することで環境変数を参照できる。

process.env.{SUPER_SECRET_API_KEY}

好みのエディターを使ったコーディング

 GitHub Codespacesでは、Visual Studio Code以外にも以下のエディターをサポートしている。

  • Jupyter Notebook
  • IntelliJ IDEA
  • RubyMine
  • GoLand
  • PyCharm
  • PhpStorm
  • WebStorm

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る