Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitHub Codespacesで改善する チームの開発環境
Search
Yuta Matsumura
December 06, 2022
Technology
0
200
GitHub Codespacesで改善する チームの開発環境
https://micug.jp/event/gofastandrobustwithgithub/
Yuta Matsumura
December 06, 2022
Tweet
Share
More Decks by Yuta Matsumura
See All by Yuta Matsumura
私のMCPの使い方
tsubakimoto_s
0
140
これからはじめる Model Context Protocol
tsubakimoto_s
0
50
Cloudflare の MCP サーバーをためしてみた
tsubakimoto_s
1
46
re:Invent の裏でアップデートされていた .NET Aspire で統合するAWS のクラウドリソース
tsubakimoto_s
1
120
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
320
Microsoft Entra External IDとAzure AD B2C
tsubakimoto_s
0
2k
Minimal Observability on Minimal API
tsubakimoto_s
0
120
ワークフローのコピペを自作で解消した話
tsubakimoto_s
0
88
Azure AI ことはじめ
tsubakimoto_s
0
690
Other Decks in Technology
See All in Technology
MCP サーバーの基礎から実践レベルの知識まで
azukiazusa1
27
14k
エンタープライズ企業における開発効率化のためのコンテキスト設計とその活用
sergicalsix
1
150
どうなる Remix 3
tanakahisateru
2
350
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
130
コード1ミリもわからないけど Claude CodeでFigjamプラグインを作った話
abokadotyann
1
150
Snowflake Marketplaceには”PODB”という便利なオープンデータがあってAI Ready対応してるらしいよ/the-snowflake-marketplace-has-a-useful-open-data-source-called-PODB-that-is-apparently-AI-ready
shinyaa31
0
270
Pythonで構築する全国市町村ナレッジグラフ: GraphRAGを用いた意味的地域検索への応用
negi111111
8
3.3k
龍昌餃子で理解するWebサーバーの並行処理モデル - 東葛.dev #9
kozy4324
1
140
從裝潢設計圖到 Home Assistant:打造智慧家庭的實戰與踩坑筆記
kewang
0
150
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
260
QAEが生成AIと越える、ソフトウェア開発の境界線
rinchsan
0
990
Datadog On-Call と Cloud SIEM で作る SOC 基盤
kuriyosh
0
110
Featured
See All Featured
Making Projects Easy
brettharned
120
6.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
What's in a price? How to price your products and services
michaelherold
246
12k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Facilitating Awesome Meetings
lara
57
6.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Transcript
GitHub Codespacesで改善する チームの開発環境 2022/12/06 MICUG GitHub Part Yuta Matsumura (Alterbooth
Inc.) Copyright © Alterbooth Inc. All Rights Reserved.
松村 優大 (Yuta Matsumura) Chief Technical Architect (C#, PHP, Azure)
Microsoft MVP (Developer Technologies) #fukuten #devblogradio の中の人 @tsubakimoto_s Currently working for Copyright © Alterbooth Inc. All Rights Reserved.
Copyright © Alterbooth Inc. All Rights Reserved.
こんな経験ありませんか? これ作ったので 動かしてみて 動かない・・・ Copyright © Alterbooth Inc. All Rights
Reserved.
こんな経験ありませんか? 開発環境 • Windows • Node.js 14 • VS Code
• 手動インストール • … 開発環境 • macOS • Node.js 18 • IDE • homebrew • … 開発環境の作り方が バラバラ Copyright © Alterbooth Inc. All Rights Reserved.
開発環境の揃え方 • 同じ PC の支給 • 環境構築のマニュアル化 • セットアップスクリプトの配布 •
共通の仮想イメージの配布 • 共通のコンテナーイメージの配布 Copyright © Alterbooth Inc. All Rights Reserved.
Visual Studio Code + Extensions • 開発環境を「リモート」にもつ仕組み WSL or Containers
▼ • 開発環境としてコンテナーを準備する (devcontainer) • https://code.visualstudio.com/docs/remote/containers • Visual Studio Code + 拡張機能パック • Docker (Windows / macOS / Engine) Copyright © Alterbooth Inc. All Rights Reserved.
devcontainer の始め方① Copyright © Alterbooth Inc. All Rights Reserved.
devcontainer の始め方① 1. アプリケーションを VS Code で開く 2. Dockerfile を準備する
3. コマンドパレットを開く Dev Containers: Open Folder in Container… 4. Dockerfile のあるフォルダを指定する 5. devcontainer.json のできあがり Copyright © Alterbooth Inc. All Rights Reserved.
Copyright © Alterbooth Inc. All Rights Reserved.
devcontainer の始め方② Copyright © Alterbooth Inc. All Rights Reserved.
devcontainer の始め方② 1. アプリケーションを VS Code で開く 2. コマンドパレットを開く 3.
devcontainer 構成の設定 Dev Containers: Add Development Container Configuration Files... 4. プリセットから選択 Show All Definitions... > Definitions 5. コンテナーで開き直す Reopen in Container Copyright © Alterbooth Inc. All Rights Reserved.
開発に必要なツールも一緒にインストールすることができます Copyright © Alterbooth Inc. All Rights Reserved.
.devcontainer/ .devcontainer ├ base.Dockerfile │ ベースイメージ構成 (参考用) ├ devcontainer.json │
コンテナー構成 └ Dockerfile Copyright © Alterbooth Inc. All Rights Reserved.
▶コンテナー構成 ▶VS Code構成 ▶転送ポート番号 ▶コンテナー作成後コマンド ▶コンテナー内ユーザー Copyright © Alterbooth Inc.
All Rights Reserved.
GitHub Codespaces Copyright © Alterbooth Inc. All Rights Reserved.
GitHub Codespaces Copyright © Alterbooth Inc. All Rights Reserved. GitHub
上にホストされる仮想マシンを使用して、 オンライン上に開発環境を構築することができる。 devcontainer.json をリポジトリに保管している場合、 devcontainer.json の構成がセットアップされる。
その他のクラウド上の開発環境 • Azure Virtual Desktop • 開発環境の構築は別途必要 • Windows OSのみ
• Azure Virtual Machine • 開発環境の構築は別途必要 • Windows OS, Linux OS • Microsoft Dev Box (Preview) • Azureサービスだが、Azure AD P1のユーザーライセンスが必要 • https://learn.microsoft.com/ja-jp/azure/dev-box/quickstart-configure-dev- box-service#prerequisites Copyright © Alterbooth Inc. All Rights Reserved.
GitHub Codespaces のマシン種別と価格 Copyright © Alterbooth Inc. All Rights Reserved.
https://docs.github.com/ja/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces
“組織” で GitHub Codespaces を使う利点 • 開発環境を統一することができる • Git で開発環境を管理することができる
• 開発用 PC の調達が必須でなくなる Copyright © Alterbooth Inc. All Rights Reserved.
GitHub Enterprise Cloud / Server 個人所有のGitHub アカウントは、組織の管理下から外れちゃう? ▶自社 ID 基盤と
SAML 連携を行うことで、組織アカウントとの シングルサインオンを構成可能。 Copyright © Alterbooth Inc. All Rights Reserved. 組織アカウント ログイン Enterprise Repository, Issue, Pull requests Actions, Projects, Wiki Codespaces, Advanced Security
GitHub Codespaces のセキュリティ • 分離された仮想マシンや仮想ネットワーク • Codespace にアクセスできるのは作成者のみ • 外部からのアクセス不可
• ポートフォワーディング機能 • シークレット管理 Copyright © Alterbooth Inc. All Rights Reserved. https://docs.github.com/en/codespaces/codespaces-reference/security-in-github-codespaces
Codespace のパーソナライズ VSCode 設定の同期 dotfiles リポジトリの反映 Copyright © Alterbooth Inc.
All Rights Reserved. https://docs.github.com/en/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account
Appendix • GitHub Universe 2022 • https://github.blog/jp/2022-11-10-everything-new-from-github-universe-2022/ • Azure AD
+ GitHub Enterprise • https://learn.microsoft.com/ja-jp/azure/active-directory/saas-apps/github-ae-tutorial • https://learn.microsoft.com/ja-jp/azure/active-directory/saas-apps/github-enterprise-cloud- enterprise-account-tutorial • GitHub Codespaces • https://docs.github.com/ja/billing/managing-billing-for-github-codespaces/about-billing- for-github-codespaces • https://docs.github.com/en/codespaces/codespaces-reference/security-in-github- codespaces • https://docs.github.com/en/codespaces/customizing-your-codespace/personalizing-github- codespaces-for-your-account • https://aadojo.alterbooth.com/entry/2022/08/24/095308 Copyright © Alterbooth Inc. All Rights Reserved.
Copyright © Alterbooth Inc. All Rights Reserved. https://www.alterbooth.com/products/ghec/ https://prtimes.jp/main/html/rd/p/000000084.000043685.html
Copyright © Alterbooth Inc. All Rights Reserved. より多くの人にもっとクラウドを楽しんでほしい。 つまらない世界からもっと 刺激のある世界へ変化させよう!