GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!
by
Kazumi IWANAGA
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
GitHub Codespaces が拡げ る開発環境、いつでもどこでも Visual Studio Code で! VS Code Conference Japan 2022 - 2023
Slide 2
Slide 2 text
岩永かづみ / Kazumi IWANAGA • Microsoft MVP for Azure • ZEN Architects 所属 • GitHub公認トレーナー • 得意な領域 • Infrastructure as Code • GitHub Actions による自動化 • 技術コミュニティ • Code Polaris / Hack Everything. • @dz_ • @dzeyelid • @dzeyelid
Slide 3
Slide 3 text
ハピバ!🫶🍩 • Birthday donation • 国連UNHCR協会 • 難民支援 • 認定NPO法人フローレンス • 病児保育、待機児童、障害児保育、虐待、ひとり親貧困などの問題の解決 • 継続支援 • NPO法人 CLACK • 貧困家庭の高校生に、プログラミング学習支援とキャリア支援で自走の力を
Slide 4
Slide 4 text
イントロ
Slide 5
Slide 5 text
開発は一カ所にとどまらない
Slide 6
Slide 6 text
Visual Studio Code があれば • Windows, MacOS, Linux などマルチプラットフォーム対応 • Settings Sync で設定を共有できる • Live Share で環境を共有できる • コンテナや Vagrant などを利用して構築した環境に、Remote development で接続して開発できる
Slide 7
Slide 7 text
Visual Studio Code の開発環境の例 コンテナ ランタイム Visual Studio Code コンテナ インスタンス Remote development
Slide 8
Slide 8 text
でもまだ"運用でカバー"がなくならない? デバッグ中だけど、もう出かけないと。 途中のコード、push したくないなぁ… ノートPC、しばらく使ってなかったから npm install 終わらん! 出先で更新したとこ、取込み忘れてた! コンフリクト直さないと、めんどうだーー しかも、モバイル回線…
Slide 9
Slide 9 text
そこで、 GitHub Codespaces
Slide 10
Slide 10 text
GitHub Codespaces とは
Slide 11
Slide 11 text
Visual Studio Code の開発環境の例 コンテナ ランタイム Visual Studio Code コンテナ インスタンス Remote development
Slide 12
Slide 12 text
GitHub Codespaces の場合 Visual Studio Code codespace インスタンス Remote development GitHub Codespaces
Slide 13
Slide 13 text
GitHub Codespaces の場合 Visual Studio Code codespace インスタンス GitHub Codespaces ウェブブラウザ
Slide 14
Slide 14 text
GitHub Codespaces の場合 Visual Studio Code codespace インスタンス GitHub Codespaces
Slide 15
Slide 15 text
GitHub Codespaces の場合 Visual Studio Code codespace インスタンス dev GitHub Codespaces codespace インスタンス review
Slide 16
Slide 16 text
実際に触ってみるデモ
Slide 17
Slide 17 text
GitHub Codespaces ポイント
Slide 18
Slide 18 text
使い慣れたインタフェースから使う • ブラウザ、または対応したエディタやIDEから接続し、あたかもローカ ルで開発している感覚で利用できる • Visual Studio Code • JetBrains IDE • JupyterLab
Slide 19
Slide 19 text
使い慣れたインタフェースから使う • Visual Studio Code で GitHub Codespaces を使用する - GitHub Docs • JetBrains IDE で GitHub Codespaces を使う - GitHub Docs • 機械学習のための GitHub Codespaces の概要 - GitHub Docs
Slide 20
Slide 20 text
テンプレートから環境を立上げられる • テンプレートから立ち上げる場合は、リポジトリがなくても利用できる
Slide 21
Slide 21 text
リポジトリから環境を立ち上げられる • リポジトリを clone した状態で環境が立ち上がる
Slide 22
Slide 22 text
必要な環境を数クリックで作成できる • 認証済み、またはコミュニティによるベースイメージが提供されている • Features (後述)で主要なCLIや言語をインストールできる
Slide 23
Slide 23 text
必要な環境を数クリックで作成できる • 認証済み、またはコミュニティによるベースイメージが提供されている • Features (後述)で主要なCLIや言語をインストールできる
Slide 24
Slide 24 text
必要な環境を数クリックで作成できる • 認証済み、またはコミュニティによるベースイメージが提供されている • Features (後述)で主要なCLIや言語をインストールできる
Slide 25
Slide 25 text
誰でも同じ環境を立ち上げられる • 作成した環境設定(devcontainer.json)をリポジトリに置いて共有 うすることで、誰でも同じ環境を立ち上げることができる
Slide 26
Slide 26 text
インスタンスはアカウントごと • 立ち上げたインスタンスはアカウントごとに分離されている • コラボレーションには、Live share やポートフォワーディング(後述) の公開を利用できる
Slide 27
Slide 27 text
インスタンスのスペックを選択できる
Slide 28
Slide 28 text
マシンタイプ マシンタイプ メモリ ストレージ 備考 2 core 4 GB RAM 32 GB 4 core 8 GB RAM 32 GB 8 core 16 GB RAM 64 GB 16 core 32 GB RAM 128 GB 32 core 64 GB RAM 128 GB 申請が必要 6 core (1 GPU) 112 GB RAM 128 GB 申請が必要
Slide 29
Slide 29 text
localhost へのポートフォワーディング • localhost にポートフォワードしてくれるため、あたかもローカル環境 のようにシームレスに開発できる • パブリック、または Organization 内向けに公開することもできる
Slide 30
Slide 30 text
Dev container でカスタマイズ • Features による簡単インストール • VS Code のエクステンションのインストール • Dockerfile によるより自由なカスタマイズ
Slide 31
Slide 31 text
Dev container でカスタマイズ
Slide 32
Slide 32 text
prebuild で素早く立上げる
Slide 33
Slide 33 text
課金体系 • 利用時間とストレージの使用量で算出 • 個人アカウントには、1ヶ月あたり無料利用枠がふくまれる • GitHub Free – 15GB/月のストレージ、120時間/コアの利用時間 • GitHub Pro – 20GB/月のストレージ、180時間/コアの利用時間 マシンタイプ 利用時間の価格/時間 2 core $0.18 4 core $0.36 8 core $0.72 16 core $1.44 32 core $2.88 ストレージ量 ストレージ量の価格/月 1 GB $0.07
Slide 34
Slide 34 text
課金の様子 ※ GitHub Pro の無料利用枠が適用されています
Slide 35
Slide 35 text
課金体系(Organization) • Organization 配下のリポジトリで codespace を立ち上げる場合、 Organization の設定によって、課金される対象が異なる Organization の spending limit 説明 0 codespace を起動するユーザーに課金される 1 以上、または Unlimited spending 上限に達するまでは、Organization に課金される
Slide 36
Slide 36 text
管理 • Dotfiles • シークレット • アカウント • リポジトリ • GPG verification • デフォルトのエディタ • アイドル タイムアウト • 保持期間 • リージョン
Slide 37
Slide 37 text
管理(Organization) • 利用可能なメンバー • ポリシー • マシンタイプ • ポートの公開範囲 • アイドル タイムアウトの最大値 • 保持期間の最大値 • 利用可能なイメージの制限 • API により、メンバーの利用状況を取得できる
Slide 38
Slide 38 text
管理(Organization)
Slide 39
Slide 39 text
ぜひ体験してみてね! GitHub Codespaces
Slide 40
Slide 40 text
GitHub Codespaces と Azure でつくる、 エンタープライズレベルの開発環境 https://msevents.microsoft.com/event?id=2453316745
Slide 41
Slide 41 text
Thank you so much🍩.