Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dev ContainersとGitHub Codespacesの素敵な関係

Dev ContainersとGitHub Codespacesの素敵な関係

.NETラボ 勉強会 2024年10月

https://dotnetlab.connpass.com/event/333111/

スライド内のリンク

Microsoft Artifact Registry
https://mcr.microsoft.com/en-us/artifact/mar/devcontainers/typescript-node/about

feature
https://github.com/devcontainers/features

mount
https://matsuand.github.io/docs.docker.jp.onthefly/storage/volumes/

Dev Container metadata reference
https://containers.dev/implementors/json_reference/

開発コンテナの概要
https://docs.github.com/ja/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers

リポジトリまたは Organization の開発環境シークレットの管理 - GitHub Enterprise Cloud Docs
https://docs.github.com/ja/enterprise-cloud@latest/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization

GitHub Codespaces の使用制限の管理 - GitHub Enterprise Cloud Docs
https://docs.github.com/ja/enterprise-cloud@latest/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces

組織での GitHub Codespaces のコストの管理 - GitHub Enterprise Cloud Docs
https://docs.github.com/ja/enterprise-cloud@latest/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization

参考:SLSA- provenance : https://slsa.dev/spec/v0.1/provenance

参考:ソフトウェア管理に向けたSBOM 経済産業省: https://www.meti.go.jp/policy/netsecurity/wg1/sbom_tebiki.pdf

Googleが提供している必要最小限の依存のみが含まれるコンテナイメージ
https://github.com/GoogleContainerTools/distroless

Dev Containers Docker options
https://code.visualstudio.com/remote/advancedcontainers/docker-options

Kento.Yamada

October 26, 2024
Tweet

More Decks by Kento.Yamada

Other Decks in Programming

Transcript

  1. 山田顕人 == Kento.Yamada 自己紹介 3 • .NETラボ運営、Azure PoC部、Multi Cloud (MSP)

    Developer • MSP向け運用分析プラットフォームの開発・次世代監視基盤の開発 • 新しいサービスの検証 • 受賞歴(他) ◦ Google Cloud Partner Tech Blog Challenge 2023 Cloud AI/ML 部門受賞 ◦ LAPRAS OUTPUT AWARD 2024 01 • 最近のやらかし ◦ LINEヤフーさんのフロアに行こうとしたらデジタル庁のフロアに行ってしまった
  2. 今日話すこと • 開発環境どうしてる? • 複数人で開発するときに起きる問題 • Dev Containersとは • 開発環境の構成をコンテナとして共有

    するメリット • コンテナイメージは自分で作る必要が あるか • Dev Containersを最大限に活用する 4 • GitHub Codespacesとは • Dev Containersとの関係性 • GitHub Codespaces でできること • まとめ • コンテナを使った開発でよく出る話題
  3. 開発者の数だけ開発環境があるような状態というと? 8 .NET8を使ってる。プレビューのやつ Code Serverで.NET8を使ってる .NET8を使ってる。rc1のやつ Cursor最高! ローカルVMで作業してる Visual Studio

    Codeと/NET CLIを使って開発! 異論は認めない! .NET8の最新版を使ってる Visual Studioで.NET8を使っている .NET8を使ってる。rc2のやつ おのおのがやりやすい方法で開発環境を構築している。 個人の生産性は高い反面、設定が標準化されていないために環境差異によって アプリケーションが動かない。
  4. クラウドIDEをいくつか抜粋 28 クラウドサービスが提供しているものを使うか外部のサービスを使うか • GitHub Codespaces • Azure ◦ Microsoft

    Dev Box • AWS ◦ Amazon CodeCatalyst、AWS Cloud9(新規の提供は終了) • Google Cloud ◦ Cloud Workstations • Google ◦ Project IDX
  5. GitHub Codespacesの立ち位置 30 ローカル 仮想環境 クラウド • Dev Containersからシームレスに移行できる •

    ローカルと違ってスペックを自由に選択できる(可能な範囲で) • GitHub/GitHub CLIから起動できる • 開発環境の標準化 クラウド上で仮想環境を起動する
  6. GitHub Codespacesを使うときの注意点3 35 使用制限を入れておこう。(とくに組織で使う場合は) 引用:GitHub Codespaces の使用制限の管理 - GitHub Enterprise

    Cloud Docs 個人でも組織でも使用制限を0ドル以上に設定しておくと無料使用を超えた利用を防ぐ ことができる。使用制限に達したあとの使用量には課金されない。
  7. まとめ 37 • コンテナ使った開発の良いとこ悪いとこを見たYo • Dev Containersを使うと快適に開発ができるYo • Dev Containersを使っているならGitHub

    CodespacesがオススメだYo • GitHub Codespacesを使ううえで重要なことを振り返ったYo 最後に。。。Dev ContainersとGitHub Codespacesは最後にSがつくYo
  8. Dev Containers利用時のコンテナ管理ツールは何が良いのか 42 Docker Desktop Rancher Desktop Podman Finch nerdctl

    crictl Singularity 実際のところ、細かいところに気をつければなんでもOK ※コンテナエンジンのパスやdockerのバージョンなど 引用:Dev Containers Docker options