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
94
GitHub Codespacesで改善する チームの開発環境
https://micug.jp/event/gofastandrobustwithgithub/
Yuta Matsumura
December 06, 2022
Tweet
Share
More Decks by Yuta Matsumura
See All by Yuta Matsumura
Azure AI ことはじめ
tsubakimoto_s
0
130
Azureのコアサーバーレス Azure Functions
tsubakimoto_s
0
410
米国カンファレンスで活躍したAzure AI Speech
tsubakimoto_s
0
480
GitHub Codespaces Updates
tsubakimoto_s
0
420
.NET 8 がリリース直前だから振り返る
tsubakimoto_s
0
480
Web API development in Visual Studio 2022
tsubakimoto_s
0
2.9k
GitHub Actionsと"仲良くなる"ための練習方法
tsubakimoto_s
13
5.2k
Minimal API と DI の良い組み合わせ
tsubakimoto_s
1
1.1k
「自分のとこでは動くけど…」を無くす devcontainer
tsubakimoto_s
0
450
Other Decks in Technology
See All in Technology
AWSでRAGを作る法方
sonoda_mj
1
140
プレイドにおけるDatadog APMの活用方法
plaidtech
PRO
2
120
コンテナ・K8s研修 - 後半 Kubernetes 基礎&ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
1
120
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
210
簡単に始めるSnowflakeの機械学習
nayuts
1
190
技術負債による事業の失敗はなぜ起こるのか / Why do business failures due to technical debt occur?
i35_267
0
190
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.6k
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
Github Actions 로 Android 팀의 효율성 극대화
hadonghyun
0
160
推薦システムを本番導入する上で一番優先すべきだったこと~NewsPicks記事推薦機能の改善事例を元に~
morinota
0
120
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
How to Think Like a Performance Engineer
csswizardry
4
590
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
The Cult of Friendly URLs
andyhume
75
5.9k
Gamification - CAS2011
davidbonilla
78
4.9k
Designing for Performance
lara
604
67k
Teambox: Starting and Learning
jrom
130
8.6k
For a Future-Friendly Web
brad_frost
173
9.2k
Building Flexible Design Systems
yeseniaperezcruz
323
37k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
Thoughts on Productivity
jonyablonski
64
4.1k
Speed Design
sergeychernyshev
9
270
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
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. より多くの人にもっとクラウドを楽しんでほしい。 つまらない世界からもっと 刺激のある世界へ変化させよう!