🌌

Check! GitHub Codespaces がより使いやすく!祝・一般公開🎉

2022/11/14に公開2

Prologue

こんにちは、@dz_ こと、岩永かづみです。

GitHub Codespaces がいよいよ一般公開されました!推しの機能がやっと皆さんに利用してもらえるようになり、感無量です😊

これまで、GitHub Codespaces は GitHub Teams または Enterprise Cloud で先行利用が開始されていましたが、使い勝手がわからないと組織ではなかなか導入しにくい部分もあったかと思います。一般公開されたこれからは、その便利さに多くの人が納得し活用が進むことでしょう💡

私がどれくらい GitHub Codespaces を推しているかについては、こちらの記事をご参照ください✨

https://zenn.dev/dzeyelid/articles/5485cdeb2a1ada

なお、上記の記事はベータリリース時点のものなので、本記事では一般公開された現時点の違いや注目点についてご紹介していきます!

所属していないリポジトリでも起動できるようになった!

これまでは、Codespaces で起動できる条件が、「自身のアカウント配下」「Codespaces が有効(spending limit が 0 より大きい)の Organization 配下」でないとならなかったが、一般公開を機に、利用できる範囲が広がりました!

リポジトリの所有者および利用できる条件についてまとめました。

リポジトリの所有者 Codespaces を利用できる条件
自身のアカウント 利用できる。
他人のアカウント Public リポジトリ、または Collaborator として招待されている場合に利用できる
Organization (Teams または Enterprise プラン) Codespaces を有効にしている(spending limit に 0 より大きい値を設定している)場合は Organziation 側に課金される形で利用できる
Orgazanition (Free プラン) Owner であれば利用できる。Member の場合は現在は「rolling out」と表示され利用できないが、自身のアカウント配下にフォークすると Codespaces を利用できる。

また、後述のテンプレートからの起動では、リポジトリのクローンを行わずに利用できるようになりました。

個人アカウントに 60時間/月 無料の利用枠!(2-core の場合)

これはいちばんインパクトがありましたね!

まず、GitHub Codespaces の利用料金は、利用時間と利用しているストレージの量で算出されます。

このうち、下表のように無料分が含まれることになりました🎉

アカウントプラン ストレージ量/月 1コアにおける利用時間/月
GitHub Free 15 GB 120 時間
GitHub Pro 20 GB 180 時間

この利用時間の "1コアにつき" というのは、GitHub Codespaces は下表のようにコア数でスペックと利用料が異なり、このコア数に応じて無料分が換算されます。発表で大きく示されていたのは、一番ライトなタイプ 2 core を利用した際に 60時間無料で利用できるということです。

この 2 core でも割と十分に稼働できます👍

マシンタイプ メモリ ストレージ 価格/時
2 core 4 GB RAM 32 GB $0.18
4 core 8 GB RAM 32 GB $0.36
8 core 16 GB RAM 64 GB $0.72
16 core 32 GB RAM 128 GB $1.44

※ 執筆時 2022/11/13 時点
※ 32 core については Contact GitHub team にて申請が必要
※ GPU については、ベータ利用申請が必要

稼働時間の管理

これは新しいことではなくて、おさらいです。

codespace インスタンスの停止とタイムアウト

Codespaces の時間課金は、起動しているときのみです。作業が終わったら明示的に停止しておけば、稼働時間に対する課金を止めることがでます。その codespace インスタンス削除しない限り、データは保持されます。

また、サスペンド状態のまま、デフォルトでは 30分のタイムアウト時間が過ぎると自動的に停止してくれます。タイムアウト時間は、Settings から設定することができます。詳しくは下記ドキュメントをご確認ください。

codespace インスタンスの自動削除

codespace インスタンスは、明示的に削除できることに加え、一定時間(デフォルトでは 30日)停止されていると自動的に削除されます。

自動的に削除される前に、メール通知が来ます。アクションがなければそのまま削除されます。

長期で codespace インスタンスを利用しないときは、リポジトリに push しておくようにした方が無難です。

自動削除の期間の設定については、下記ドキュメントをご確認ください。

テンプレートが登場!

リポジトリからの起動ではなく、github.com/codespaces/templates のテンプレートから codespace インスタンスを起動できるようになりました!

これまでは、codespaces を使うために空のリポジトリを作るみたいなことが必要でしたが、さっと作業したいときに空の codespace を立上げられるのが便利ですね!

テンプレートは、幅広い利用用途に対応するために複数のテンプレートが用意されています。

また、独自のテンプレートを作成しておくこともできます。template repository としてリポジトリを用意し、そこに devcontainer による設定を格納しておきます。 https://github.com/codespaces/new?template_repository=OWNER/TEMPLATE-REPO の形式で URL を開くことで、指定した template repository による環境を立ち上げることができます。詳しくは下記ドキュメントをご参照ください。

インスタンスの名前を変更できるようになった

立ち上げた codespace インスタンスの名前を変更できるようになりました!

codespace インスタンスの名前を変更できる

これが案外ありがたくて、これまではランダムな単語で構成された名前で、複数立ち上げるとどっちがどっちかわからなくなっていたのですが、これで安心です。

Codespaces API で自在に管理

個人アカウント向けの API に加え、Organization における Codespaces 管理用の API がリリースされました。

Organization レベルでは、誰がどれくらい利用しているかなどの情報が求められたり、強制的に停止したいなどの場合もあるでしょう。この API が役に立ちそうですね!(実際、GitHub Codespaces のハンズオンワークショップを行った際に、参加者から質問がありました)

Epilogue

GitHub Codespaces がとてつもなく便利すぎて、早く皆さんに利用してもらいたく、一般公開を心待ちにしておりました。

そうしたら、一般公開どころか、より効率的かつ管理しやすい形で機能拡充されてのリリースとなり、GitHub Codespaces 激推し勢の私は歓喜しております🕺🎊

GitHub Codespaces があれば、自習教材の提供やハンズオンも非常にやりやすくなると思います。たくさん活用して、思考の開発体験を手に入れましょう!✨

Discussion

tuna2134tuna2134

今日まで個人アカウントで使っていたんですが、ストレージのリミットに引っ掛かってしまいました。そこら辺は気をつけた方がいいと思います。

Kazumi IWANAGA (OHIRA) / dzKazumi IWANAGA (OHIRA) / dz

コメントありがとうございます!確かに、ストレージは見落としがちなポイントですよね。

私も結構な数立ち上げている気がするのですが、GitHub Pro に契約しているからかまだ制限かかったことなくて、実際どれくらいのものかちょっと調べてみますね!