「GitHub CodeSpaces」が役立つ活用シーンや便利な機能を紹介、月60時間まで無料:ペアプログラミング、オンボーディング自動化
GitHubは2023年2月28日(米国時間)、公式ブログで「GitHub Codespaces」が役立つ活用シーンや便利な機能を紹介した。
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]
gh codespace list
gh codespace delete -c CODESPACE-NAME
gh codespace edit -c CODESPACE-NAME -d DISPLAY-NAME
gh codespace edit -m MACHINE-TYPE-NAME
環境変数の保存
セキュリティの観点では、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.
関連記事
- GitHubは3月13日から二要素認証の義務付けを段階的に開始、具体的にはどう進められる?
GitHubは、GitHub.comでコードをコントリビュートする全開発者に二要素認証の利用を義務付ける方針を、2023年3月13日より実行に移す。この取り組みは段階的に実施される。 - AIペアプログラミング「GitHub Copilot for Business」正式公開、タスクの55%高速化は本当?
GitHubは、AIペアプログラミングツールの企業向けプラン「GitHub Copilot for Business」の一般提供を開始した。 - OpenAI、「ChatGPT」と「Whisper」のAPIを公開 料金体系、データの利用ポリシーは?
OpenAIは、対話に特化した言語モデル「ChatGPT」と音声認識モデル「Whisper」をAPIで利用できるようにした。