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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kazumi OHIRA
August 05, 2023
Technology
1
2.8k
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
「GitHub dockyardコミュニティ 竣工イベント!」でお話した資料です。
https://github-dockyard.connpass.com/event/289714/
Kazumi OHIRA
August 05, 2023
Tweet
Share
More Decks by Kazumi OHIRA
See All by Kazumi OHIRA
【再】#2 GitHub Copilot Enterprise&GitHub Actionsナレッジ オープニング資料
dzeyelid
0
130
GitHub最新情報キャッチアップ 2024年3月
dzeyelid
17
5.9k
GitHub dockyardコミュニティ 竣工イベント!オープニング資料
dzeyelid
0
330
GitHub最新情報キャッチアップ 2023年6月
dzeyelid
2
3.5k
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
dzeyelid
1
270
高さ比べじゃない、キャリアは歩んできた道
dzeyelid
0
620
GitHub Copilotとともに次の開発体験へ
dzeyelid
1
430
突如登場したAzure Developer CLIでなにができるのか?検証してみる
dzeyelid
0
150
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Container Apps
dzeyelid
0
240
Other Decks in Technology
See All in Technology
みんなだいすきALB、NLBの 仕組みから最新機能まで総おさらい / Mastering ALB & NLB: Internal Mechanics and Latest Innovations
kaminashi
0
140
Azure SRE Agent x PagerDutyによる近未来インシデント対応への期待 / The Future of Incident Response: Azure SRE Agent x PagerDuty
aeonpeople
0
240
メルカリのAI活用を支えるAIセキュリティ
s3h
7
5.4k
Vitest Highlights in Angular
rainerhahnekamp
0
120
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
41k
AIとともに歩む情報セキュリティ / Information Security with AI
kanny
4
2.8k
Digitization部 紹介資料
sansan33
PRO
1
6.7k
JuliaTokaiとしてはこれが最後かもしれない(仮) for NGK2026S
antimon2
0
130
Amazon Bedrock AgentCore EvaluationsでAIエージェントを評価してみよう!
yuu551
0
190
re:Inventで出たインフラエンジニアが嬉しかったアップデート
nagisa53
4
230
セキュリティ はじめの一歩
nikinusu
0
1.2k
「全社導入」は結果。1人の熱狂が組織に伝播したmikanのn8n活用
sota_mikami
0
590
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
It's Worth the Effort
3n
188
29k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Claude Code のすすめ
schroneko
67
210k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
310
Deep Space Network (abreviated)
tonyrice
0
37
KATA
mclloyd
PRO
34
15k
Faster Mobile Websites
deanohume
310
31k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
290
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
Making Projects Easy
brettharned
120
6.6k
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🍩.