15ヶ月のプレビュー期間を経て、GitHubはCodespacesをリリースしました。おそらくActions以来最も派手な新機能でしょう。

Table of Contents

15ヶ月のプレビュー期間を経て、GitHubはCodespacesをリリースしました。おそらくActions以来最も派手な新機能でしょう。

2020年5月からプレビュー版が公開されていたクラウドベースの開発環境、GitHubのCodespacesがついに登場しました。料金は1時間あたり0.18ドルから2.88ドルです。

2020 年の GitHub Satellite 仮想イベントで初めて導入された Codespaces は、おそらく 2018 年の Actions 以来の GitHub の最大の新機能です。

オンライン環境で開発するというアイデアは決して新しいものではありません。Microsoft(GitHubの所有者)は2019年後半からVisual Studio Onlineとしてこれを提供しており、Gitpodは2018年7月からオンライン環境を提供しています。

Codespaces は長い開発期間を経て、最初のプレビュー版から数々の改善が行われました。当初は機能として提供されていなかったシークレット管理機能が、GitHub に組み込まれました。ユーザーは GitHub 設定でシークレットを定義し、リポジトリに関連付けることができます。これらのシークレットは Codespaces で環境変数として表示されます。セキュリティの観点から、リポジトリ自体に認証情報を含めないことが重要です。

GitHub コードスペース

Codespacesは有料プラン向けにリリースされているが、個人向けはまだリリースされていない。

GitHubは昨日、TeamプランとEnterpriseプランをご利用の組織向けにCodespacesをリリースしました。個人の方は、アクセスに成功した場合、引き続きCodespacesのベータ版をご利用いただけます。GitHubは「今後のアップデートについては、近日中にお知らせします」と述べています。

Codespacesは9月10日まで無料ですが、ユーザーアカウントあたり10個までに制限されています。それ以降は、アクティブになると従量課金制となり、2コア・4GB RAMで1時間あたり0.18ドルから、32コア・64GBで1時間あたり2.88ドルまで、いずれも秒単位で課金されます。最高スペックのプランを、例えば1日8時間、週5日使用すると年間約6,000ドル、最も安価なプランでは約375ドルになります。

9月10日から適用されるCodespacesの価格

Codespacesの価格は9月10日から適用されます

GitHubにはgithub.devという便利な機能があり、こちらは引き続き無料でご利用いただけます。コードリポジトリ内でピリオド(.)キーを押すと、軽量なCodespaceを使ったエディターが開きます。これはつまり、Visual Studio Codeの簡易版ブラウザ版を使って、ブラウザ上であらゆるファイルを編集できることを意味します。これはデスクトップ版と非常によく似ており、まさにこの目的のためにWeb技術を用いて開発されている点を念頭に置いておく必要があります。この軽量環境には実行やデバッグのオプションはなく、「デバッグ」をクリックすると、リポジトリをローカルでクローンするか、完全なCodespaceを起動するかを選択するダイアログが表示されます。

ドキュメントには、「Codespaceを作成すると、リポジトリのシャロークローンが、ユーザー専用のプライベートLinux仮想マシン上に作成されます」と記載されています。これは仮想マシンですが、開発環境はコンテナであり、デフォルトのイメージまたは開発者が定義したイメージが使用されます。コンテナは永続的ですが、VMはCodespaceが再起動されるたびに再作成されるため、常に最新のパッチが適用されています。VMは30分間操作が行われないと自動的に終了します。

任意のリポジトリでドットを押すと、基本的なVS Codeエディタが使えるようになります。

任意のリポジトリで.(ドット)を押すと、基本的なVS Codeエディタが使えます。これは無料の機能です。

Codespace を操作する方法は複数あります。デフォルトは、ブラウザベースの VS Code を Codespace にリモート接続することです。もう 1 つのオプションは、Codespace を PWA (プログレッシブ Web アプリケーション) として起動することです。これにより、キーボードショートカットや権限などの設定が容易になります。3 つ目のオプションは、デスクトップで Visual Studio Code を実行し、Codespace にリモート接続することです。これら 3 つの方法は似ていますが、開発者エクスペリエンスは若干異なります。ブラウザベースのバージョンには、セキュリティ上の理由から、デバッグモードで別のブラウザインスタンスを起動できないなど、いくつかの制限があります。VS Code の使用は必須ではありません。ssh (セキュアシェル) を使用してリモートターミナルを開き、Vim や Emacs などのエディターを使用することも可能です。

GitHubのエンジニアリング担当シニアディレクター、コーリー・ウィルカーソン氏は昨日、GitHub自体が社内開発の大部分をmacOSからCodespacesに移行したと述べた。同氏は、macOSへのアプローチには不満があったと述べた。

「原因不明の破損が頻繁に発生し、壊滅的な被害をもたらしたため、ブートストラップスクリプトにオプション「--nuke-from-orbit」をコード化しました」と彼は主張する。Codespacesへの移行は、「開発環境をインフラのように、つまり自由に変更できるコモディティとして扱う機会」となった。しかし、初期のCodespacesの実験は、GitHubのコード自体が「約13GB」あり、リポジトリのクローン作成に20分もかかったため、非常に手間のかかるものだった。そこで、現在プレビュー段階にある「prebuilds」という別の機能が生まれた。これは、リポジトリに変更がプッシュされるたびにCodespaceを自動的に構築する機能で、これにより新しい開発者がすぐに使用できるようになる。

「新入社員は、Slack をインストールするよりも短い時間で、ゼロから開発環境を構築できます」とウィルカーソン氏は語る。

  • GitHubのnpmが使用中のパッケージ名を公開し、再考を迫られる
  • GitHubはDMCA違反の開発者に無料の法的アドバイスを提供するためにスタンフォード大学ロースクールに100万ドルを寄付した
  • 32,000人の開発者を対象とした大規模調査で、JavaScript、GitHub、AWSがトップに
  • GitHub Copilotの自動コーダーに問題発生。漏洩した秘密から質の悪いコードまで。しかし、気に入っている人もいる。

最新のCodespacesを簡単に試してみました。私たちの小規模なASP.NET Coreリポジトリでは高速で、すぐに動作しました。Codespaceを作成したら、再起動はわずか10~15秒で完了します。実行とデバッグは初回で成功し、前述のシークレットを追加することでデータベース接続も解決しました。iPad AirでもCodespaceを使用し、サイドバイサイドウィンドウを使用してブラウザベースのアプリケーションを実行・デバッグすることに成功しました。デフォルトのCodespaceのLinuxバージョンはUbuntu 18.04ですが、20.04 LTSが1年以上前から提供されていることを考えると、少し古いように感じます。

これは強力なモデルですが、潜在的にコストがかかります。リモート開発と使い捨て開発というアプローチはいくつかの問題を解決しますが、同時に独自の摩擦も生み出します。例えば、GitHubに信頼性の問題が発生した場合、8月10日にActionsで3時間の「パフォーマンス低下」が発生し、本日Codespacesで2時間の「パフォーマンス低下」が発生しました。それでも、開発者へのプレッシャーを考慮すると、多少の強制的なダウンタイムには一定の魅力があるかもしれません。®

Discover More