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リポジトリ設定あれこれ
Search
Kazumi IWANAGA
August 05, 2023
Technology
1
1.9k
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
「GitHub dockyardコミュニティ 竣工イベント!」でお話した資料です。
https://github-dockyard.connpass.com/event/289714/
Kazumi IWANAGA
August 05, 2023
Tweet
Share
More Decks by Kazumi IWANAGA
See All by Kazumi IWANAGA
【再】#2 GitHub Copilot Enterprise&GitHub Actionsナレッジ オープニング資料
dzeyelid
0
65
GitHub最新情報キャッチアップ 2024年3月
dzeyelid
17
5.1k
GitHub dockyardコミュニティ 竣工イベント!オープニング資料
dzeyelid
0
260
GitHub最新情報キャッチアップ 2023年6月
dzeyelid
2
2.9k
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
dzeyelid
1
190
高さ比べじゃない、キャリアは歩んできた道
dzeyelid
0
500
GitHub Copilotとともに次の開発体験へ
dzeyelid
1
350
突如登場したAzure Developer CLIでなにができるのか?検証してみる
dzeyelid
0
110
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Container Apps
dzeyelid
0
170
Other Decks in Technology
See All in Technology
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
510
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
120
OpenShift Virtualizationのネットワーク構成を真剣に考えてみた/OpenShift Virtualization's Network Configuration
tnk4on
0
130
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
生成AIのガバナンスの全体像と現実解
fnifni
1
180
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
370
kargoの魅力について伝える
magisystem0408
0
200
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
Featured
See All Featured
A Tale of Four Properties
chriscoyier
157
23k
A Philosophy of Restraint
colly
203
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Producing Creativity
orderedlist
PRO
341
39k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
地味だけど劇的に便利になる リポジトリ設定あれこれ (と、Codespaces布教) GitHub dockyardコミュニティ 竣工イベント! https://github-dockyard.connpass.com/event/289714/
岩永かづみ / Kazumi IWANAGA • GitHub公認トレーナー • ZEN Architects 所属
• Microsoft MVP for Azure • 得意な領域 • Infrastructure as Code • GitHub Actions による自動化 • 技術コミュニティ • Code Polaris / Hack Everything. • @dz_ • @dzeyelid • @dzeyelid • dzeyelid
そのGitHubリポジトリは 真の力を発揮しているか?
親しんできたリポジトリ機能、 実はめっちゃ更新されているんですよ
リポジトリの使い勝手をグレードアップするぞ • リポジトリのSettingsのGeneralを見直す • Branch protection rulesとRepository rulesets • Dependabotで依存関係の脆弱性スキャンを導入する
• Secret scanningのpush protectionを知ってほしい*
リポジトリを越えたオススメ • GitHub CopilotとGitHub Copilot X • Codespacesの便利さを知ってもらいたい
まずは、 リポジトリSettingsのGeneralから👇
プルリクエストのマージをちょっと便利に プルリクエストのマージ方法を、制限することができる • 「マージ コミット」(git mergeで作られる)を許可する • プルリクエストに含まれるコミットを1コミットにまとめる • プルリクエストに含まれるコミットをrebaseでマージする
Squash mergingがおすすめ このとき設定されるコミットメッセージが、初期値 (Default message)だと「最初のコミットメッセージ」 が採用されて不便 Default to pull request
titleを指定することで、プル リクエストのタイトルがコミットメッセージに採用される • Squash = 押しつぶす • プルリクエストのコミットを1コミットにまとめて、マージする
プルリクエストを最新に保ちやすくする プルリクエストのbase branch(マージ先)に更新が ある場合に、更新するためのUIが有効になる
プルリクエストでブランチ更新が促される
プルリクエストのマージで作業ブランチ削除 プルリクエストがマージされたら、 作業ブランチを自動的に削除する
Branch protection rulesと Repository rulesets👇
Branch protection rules
Branch protection rules • 指定したブランチに対し、保護ルールを設定できる • force pushを禁止する • ブランチの削除を禁止する
• マージするには、必ずPull requestを要求する • Pull requestをマージするには、必ずApprovalを要求する、など • パブリックリポジトリ、またはGitHub Pro/Team/Enterprise Cloud契約下のプライベートリポジトリで利用できる • 参考: Check! GitHub Branch protection rulesの機能一覧
Repository rulesets
Repository rulesets • 突如登場し、7/24にGA🎉 • 参考: GitHub Repository Rules are
now generally available - The GitHub Blog • パブリックリポジトリ、またはGitHub Pro/Team/Enterprise Cloud契約下のプライベートリポジトリで利用できる • Branch protection rulesの後継、より柔軟な制御ができる • Branch protection rulesとの最大の違いは、Organizationレベルで指定 できること👏 • 参考: Check! GitHub Repository rulesetsとは?
手軽だけど強力なセキュリティ対策👇
Dependabot
Dependabot • リポジトリの依存関係をスキャンし、脆弱性を検出してくれる • スキャンの対象はデフォルトブランチ • すべてのリポジトリで無料で利用できる🎉 種類 説明 Dependabot
alerts 脆弱性が検出された場合に、通知する GitHub.comの「Security」タブで一覧、招待を確認できる Dependabot security updates Dependabot alertsによって検出された脆弱性の修正案について、プ ルリクエストを作成する Dependabot version updates 指定した対象のバージョンの更新について、プルリクエストを作成する Dependency review(※) デフォルトブランチにマージする前に検出したい場合に、GitHub ActionsのDependency reviewアクションを利用する ※GitHub Enterprise CloudのGitHub Advanced Securityライセンスが必要
Dependabotの有効化
Dependabot alertsの一覧
Dependabot alertsの詳細
Dependabot security updatesにより 発行されたプルリクエスト
Dependabot version updatesにより 発行されたプルリクエスト
Dependabot version updatesの設定 .github/dependabot.ymlに設定を書く
Secret scanningの push protection
Secret scanning • リポジトリのすべてのブランチ上の Git 履歴全体をスキャンし、シーク レットが検出されるとそのシークレットを提供するプロバイダへ通知す る • 通知を受けたプロバイダは対策を行う(無効化、利用者への通知など)
• パブリックリポジトリ、またはGitHub Enterprise CloudのGitHub Advanced Security(GHAS)ライセンスが適用されているプライ ベート/internalリポジトリで利用できる • リポジトリにプッシュする前に検出したい場合は、Push protectionを 利用する
Secret scanningの有効化
Secret scanningのPush protection • Gitでプッシュするとき、コミット内容にシークレットが含まれていたら 弾いてくれる🚨 • リポジトリにプッシュされる前に防ぐことができる! • 参考:
【GitHub】シークレット スキャンのプッシュ保護でシークレット の流出を固く防ぐ!
GitHub CopilotとGitHub Copilot X 🧑✈️
GitHub CopilotとGitHub Copilot X • GitHub Copilotは、AIによるコード補完 • GitHub Copilot
Xは、次に予定されているAIによる支援機能群 機能 説明 GitHub Copilot(現行) コード補完 GitHub Copilot X GitHub Copilot Chat チャット形式のAIによる支援 (OrganizationでPublic beta公開) GitHub Copilot X GitHub Copilot for Docs ドキュメントにフォーカスしたAIによる支援 GitHub Copilot X GitHub Copilot for Pull Requests プルリクエストにフォーカスしたAIによる支援 GitHub Copilot X GitHub Copilot for CLI CLIの利用をAIにより支援
Codespacesの便利さを知ってもらいたい 🔮
GitHub Codespacesのおすすめポイント • コンテナベースのリモート環境 • Dev containerでカスタマイズ • VS Codeの拡張機能のインストールを指定できる
• Pay as you go(稼働時間+ボリュームのストレージ利用量) • 無料枠あり(60h/core、1インスタンスを業後や週末に使うくらいなら十分) • あたかもローカルかのようにlocalhostに接続できる(Port forwarding) • イメージを事前にビルドしておくこともできる(prebuild)
Thank you so much🍩.