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を使うことで、与えられた文章を画像に変換するML(機械学習)モデルの1つである「Stable Diffusion」を実行できる。Stable Diffusionのようなデータ量の多いタスクを実行するには、通常、強力なGPUを搭載したPCが必要だ。
GitHub Codespacesはマシンタイプを2コアから32コアまで設定可能でGPU搭載マシンのアクセスリクエストも利用できる。MLエンジニアがiPadやChromebookを使って、GitHub Codespaces経由でデータ量の多いディープラーニング関連の作業を行うこともできる。
リモートワークにおいてコミュニケーションや技術スキル向上に役立つペアプログラミングの実施は難しいと言われる。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などのツールを使って候補者とコラボレーションすることもできる。
うっかりドキュメントを閉じたり、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以外にも以下のエディターをサポートしている。
Copyright © ITmedia, Inc. All Rights Reserved.