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
Takafumi Ikeda
June 07, 2017
Technology
10
4k
効果的にGitHubを使うために
GitHub Constellation Tokyo
https://githubuniverse.com/constellation/
Takafumi Ikeda
June 07, 2017
Tweet
Share
More Decks by Takafumi Ikeda
See All by Takafumi Ikeda
APIゲートウェイとサービスメッシュ
ikeike443
0
350
はじめてのKong Konnect
ikeike443
0
190
Kuma
ikeike443
2
3.5k
10分で分るGitHub Actions
ikeike443
3
2k
GitHub Actionsはどのような未来を描くのか
ikeike443
3
2.8k
GitHubber@日本
ikeike443
6
12k
GitHub Business Seminar
ikeike443
1
140
How we ship GitHub with GitHub -- ChatOps
ikeike443
0
340
How People Build Software
ikeike443
0
240
Other Decks in Technology
See All in Technology
実践! AIエージェント導入記
1mono2prod
0
130
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
360
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
4
460
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
200
知識を整理して未来を作る 〜SKDとAI協業への助走〜
yosh1995
0
130
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
1
140
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
2
1.1k
データプラットフォーム技術におけるメダリオンアーキテクチャという考え方/DataPlatformWithMedallionArchitecture
smdmts
5
550
CI/CDとタスク共有で加速するVibe Coding
tnbe21
0
230
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
500
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
190
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
53
31k
Featured
See All Featured
Visualization
eitanlees
146
16k
Designing for Performance
lara
609
69k
Unsuck your backbone
ammeep
671
58k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
How to train your dragon (web standard)
notwaldorf
92
6.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Being A Developer After 40
akosma
90
590k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Transcript
Where software is built ޮՌతʹGitHubΛ͏ͨΊʹ @ikeike443
! Where software is built Who am I? 2 a
ikeike443
# Where software is built # $ 3 TAKAFUMI IKEDA
SOLUTIONS ENGINEER Who am I?
Where software is built % Agenda 4 •͓٬༷ʹڞ௨͢Δ՝ •։ൃϑϩʔߏஙͷͨΊͷιϦϡʔγϣϯ •ҙ֎ͱΒΕ͍ͯͳ͍Tips
•·ͱΊ %
How people build software % ڞ௨͢Δ՝ 5 • OrgΛ͚͗͢ɺϓϩδΣΫτຖɺ෦ॺຖʹαΠϩԽ͍ͯ͠Δ •
CI·Ͱख͕ճΒͳ͍ɺϏϧυखॱ͕ҰఆͰͳ͍ • Pull RequestΛ͏·͑͘ͳ͍ɺϚʔδʹۤ࿑͢Δ • νʔϜͷशख़ʹΒ͖͕ͭ͋Δ • Φʔϓϯʹ͍͕ͨ͠ɺಉ࣌ʹ҆શੑ୲อ͍ͨ͠
How people build software % ຊ 6 • Org/Teamͷਖ਼͍͍͜͠ͳ͠ํ •
GitHub FlowͷԠ༻ɺपลػೳͷ͍ํ • ͦͷଞɺϑϩʔߏஙʹཱͭҙ֎ͱΒΕ͍ͯͳ͍ػೳͷհ
How people build software OrganizationͱTeam ࠷ॳʹऔΓΉ͖͜͜ 7 %
How people build software % 8
How people build software % 9
How people build software % OrganizationΛ͚͗͢Δ 10 • Α͋͘Δࣄྫ: •
෦ॺ͝ͱʹOrgΛ͚Δʢ৫ߏͱҰகͤ͞Α͏ͱ͢Δʣ • ϓϩδΣΫτ͕࢝·ΔͨͼʹOrgΛ͚Δ • 200Ҏ্ͷOrg͕͋Δྫ
How people build software % Org͕ଟ͍ͱى͖Δ 11 • @mentionOrgΛԣஅͯ͠ಧ͔ͳ͍ͨΊɺαΠϩԽ •
ϝϯόʔ͕૿͑ΔͨͼʹOrgͷՃ࡞ۀ͕ൃੜ
How people build software % OrgΛগͳ͘ɺTeamΛଟ͘ 12 • OrgΛͰ͖ΔݶΓগͳ͘͠ɺݟ௨͠ΛΑ͘ •
TeamΛͬͯݖݶཧΛࡉ͘ઃఆ͢Δ͜ͱ • LDAP Team SyncΛ͏·͍͘ɺϝϯςΛݮ
How people build software % OrgΛগͳ͘͢Δͱෆ҆ 13 • ಁ໌ԽʹΑΔϝϦοτͱɺෆҙͷใ࿙͍͑ͷؒͰΉ
How people build software % ಁ໌Խͷ༷ʑͳྫ 14 • ͯ͢Φʔϓϯ •
GitHub.comΛͬͨOSSӡӦ • ࣾͯ͢Φʔϓϯɺࣾ֎ʹΫϩʔζ • GitHub.com Business Plan Hosted • GHEʹͯPublic Modeӡ༻ • ࣾһʹΦʔϓϯʹɺύʔτφʔʹ੍ݶΛೖΕ͍ͨ • ز͔ͭͷύλʔϯ
How people build software % GitHubͰͰ͖Δݖݶཧ 15 • GHEͷPublic/Private Mode
• GHEͷΈɺΠϯελϯεશମͷՄࢹੑΛઃఆՄೳ
How people build software % GitHubͰͰ͖Δݖݶཧ 16 • OrgͷDefault Permission
• ϝϯόʔͷσϑΥϧτݖݶʹ͍ͭͯ4ͭͷҟͳΔઃఆ͕Մೳ
How people build software % ࣾһʹΦʔϓϯɺύʔτφʔʹ੍ݶ 17 • Α͋͘Δχʔζ •
ࣾһͱύʔτφʔͰݖݶΛ͚͍ͨ • ύʔτφʔʹಛఆͷϦϙδτϦҎ֎ҰӾཡ͢Βڐͨ͘͠ͳ͍
How people build software % ࣾһʹΦʔϓϯɺύʔτφʔʹ੍ݶʢ̍ʣ 18 • OrgΛ͚Δ •
OrgΛ͚ɺશϦϙδτϦΛPrivateʹ͢Δ • ࣾһͱύʔτφʔͰ࡞ΔͷɺݟΔͷ͕શʹผͷ߹ʹ༗ޮ • ྆ऀͷίϥϘϨʔγϣϯΛॏࢹ͠ͳ͍έʔε
How people build software % ࣾһʹΦʔϓϯɺύʔτφʔʹ੍ݶʢ̎ʣ 19 • ίϥϘϨʔλΛ͏·͘׆༻͢Δ •
ࣾһ͚ͩͷOrgΛ࡞ΓɺύʔτφʔΛೖΕͳ͍ • ύʔτφʔͷڠྗ͕ඞཁͳϦϙδτϦʹରͯ͠ɺݸผʹίϥϘϨʔ λͱͯ͠Ճ
How people build software % ࣾһʹΦʔϓϯɺύʔτφʔʹ੍ݶʢ̏ʣ 20 • OrgͷσϑΥϧτઃఆΛNoneʹ͢Δ •
ࣾһύʔτφʔಉ͡Orgʹॴଐ͠ɺTeamͰ͚ΔΠϝʔδ • σϑΥϧτͰҰPrivateϦϙδτϦΛݟΔ͜ͱ͕Ͱ͖ͳ͘ͳΔ • ύʔτφʔTeamΛݸผʹϦϙδτϦʹՃ͢Δ͜ͱͰݖݶཧ • ͨͩ͠ɺࣾһTeamݸผʹՃ͢Δඞཁ͋Γɺগ͠ࡶ
How people build software % Org/Team ·ͱΊ 21 • OrgΛগͳ͘ɺTeamΛଟ͘
• @mentionOrgΛ·ͨ͛ͳ͍ • OrgͷDefault Permission, Private ModeΛ͍͜ͳ͢ • Outside Collaborator֎෦ύʔτʔφʔʹ࠷ద
How people build software % Org/Team Tips 22 • TeamΛ৫ߏͱҰகͤ͞Δඞཁͳ͍
• Java Specialists, Security, SQL, Managers, Designers, … • ઐੑؔ৺ࣄͰάϧʔϐϯά͢Δ͜ͱେม༗ޮ • See also: https://github.com/blog/2316-organize-your-experts-with-ad-hoc-teams
How people build software % Org/Team Tips 23 • OrgΛू͢Δͱ
• ϦϙδτϦͷ͕େʹͳΓ୳͢ͷ͕େมʁ
How people build software % Org/Team Tips 24 • Topics
• ϦϙδτϦͷλά͚͕Մೳɺݕࡧʹ͑Δ • GHE2.10ΑΓ
How people build software % Org/Team Tips 25 • Pinned
Repositories • දతͳϦϙδτϦઌ಄ʹషΓ͚͓͚ͯΔ
How people build software % ੜͷ Org/Team ྫ 26
How people build software GitHub Flow ͯ͢ͷجຊͰ͢ 27 %
How people build software % GitHub Flow 28
Create a Feature Branch
Add commits
Open a Pull Request
Discuss and Review Code
How people build software % ίʔυϨϏϡʔ 33
% % hubot
How people build software % Hubot 35
How people build software % CI status Λ PR ʹ͢
36
Ship
How people build software % Deployment API 38
Merge with master
How people build software % 40
How people build software % Α͋͘Δޡղ 41 • ϚʔδલʹσϓϩΠͳΜͯͰ͖ͳ͍͔Βҧ͏ϑϩʔʹ •
GitHub FlowWeb։ൃҎ֎ʹ͑ͳ͍ • Git-Flow͕େن։ൃʹ͍͍ͯΔ
How people build software % ϙΠϯτ 42 • ੜଘظؒͷ͍ϒϥϯνΛݮΒ͢͜ͱ •
ཧతʹMasterҰຊͷΈ • Pull RequestϒϥϯνͰ͖Δ͚ͩૣ͘Ϛʔδ͢Δ • ҰͭҰͭͷมߋΛখ͘͞ • ϑΟʔνϟʔϑϥάͳͲ༗ޮʹ͏ • Ϛʔδͨ͠Β͙͢ʹফ͢
How people build software % ෳͷϒϥϯν͕ඞཁ 43 • ͦΕͧΕͷϒϥϯνʹରͯ͠GitHub Flow͕Մೳ
Open a Pull Request Open a Pull Request
How people build software % ෳͷϒϥϯν͕ඞཁ 44 • ϒϥϯν͕ଟ͍΄ͲBack Portͷ͕૿͑ɺෳࡶԽ
• ϒϥϯνΛݮΒ͢Α͏ʹ͢Δ͜ͱ͕ॏཁ
How people build software % λάͰସͰ͖ͳ͍͔ߟ͑ͯΈΔ 45 • ग़ՙόʔδϣϯɺίʔυϑϦʔζɺQAظ͕ؒඞཁͰ͋ΕɺλάͰସͰ͖ͳ͍͔ •
ඞཁ͕ੜͨ͡ͱ͖ͷΈϒϥϯνΛ࡞ΓɺऴΘͬͨΒফ͢ • ͜͜Ͱෳόʔδϣϯ͕ಉ࣌ʹଘࡏ͢ΔͱෳࡶʹͳΔ͜ͱʹҙ v0.1.pre v0.1.pre.2 v0.1 v0.2.pre
How people build software % GitHub Flow·ͱΊ 46 • GitHub
FlowԠ༻Մೳ • ظؒϒϥϯνͷΛͰ͖Δ͚ͩݮΒ͢ • λάΛ༗ޮ׆༻͢Δ
How people build software Pull Requestपลͷศརͳػೳ ͞·͟·ͳϫʔΫϑϩʔΛՄೳʹ 47 %
How people build software % ศརͳػೳ 48 • Revert •
Blame • Update Branch • Conflictͷղফ • ֤छϚʔδΦϓγϣϯ • ForkઌͷฤूڐՄ • etc
How people build software % Revert 49
how software is built % Revert 50 ຊޠԽͨ͠ ςετमਖ਼ ؔͷͳ͍मਖ਼
REVERT Pull Request Pull Request͕ؔ࿈͢ΔίϛοτΛ͍ͬͯΔ
how software is built % Blame 51
the best way to build and ship software % 52
Web UI͔ΒͷConflictղফ
How people build software Protected Branches ॊೈ͔ͭηΩϡΞͳϫʔΫϑϩʔߏஙΛՄೳʹ 53 %
How people build software % Protected Branches 54 • ༷ʑͳܗͰϒϥϯνΛอޢ
• Delete, Push -f ͷېࢭ • ϨϏϡʔͷඞਢԽ • CIͳͲεςʔλενΣοΫ • ϚʔδՄೳͳਓ/TeamΛ੍ݶ
How people build software ͦͷଞͷศརػೳ ࡉ͔͗ͯ͢ΘΒͳ͍ػೳ 55 %
How people build software % ҙ֎ͱΒΕ͍ͯͳ͍ػೳ܈ 56 • Release •
Pre-Receive Hooks (GHE Only) • ͞·͟·ͳRenderingΦϓγϣϯ • SVN Bridge • git-import
How people build software % Release 57 • Tagʹؔ࿈͚ͯΞηοτςΩετΛཧͰ͖Δ
How people build software % Pre Receive Hooks 58 •
GHE only͕ͩɺαʔόαΠυͷPre Receive Hook͕ॻ͚Δ • ใ࿙͍͑νΣοΫɺPGP伴ͷνΣοΫͳͲͳͲʹ • ηΩϡϦςΟ্ͷݒ೦Λ༧తʹνΣοΫͰ͖Δ • ࣗͷ͖ͳϥΠϒϥϦɺݴޠΛΠϯετʔϧՄೳ • Chroot, DockerରԠ • جຊతʹͳΜͰͰ͖ΔͷͰӡ༻ʹҙ͕ඞཁ
How people build software % ༷ʑͳϨϯμϦϯά 59 • ը૾ •
PDF • GeoJson • Jupyternootbook • STL • CSV/TSV • Markdown • etc
How people build software % ༷ʑͳϨϯμϦϯά: STL 60
How people build software % ༷ʑͳϨϯμϦϯά: CSV/TSV 61
How people build software % SVN Bridge 62 • GitHubͷΫϥΠΞϯτͱͯ͠SVNΛར༻Մೳ
How people build software % git-import 63 • ༷ʑͳVCS͔ΒͷҠߦΛαϙʔτ
How people build software % ·ͱΊ 64 • Org/TeamΛΓɺ্खʹ͍͜ͳͦ͏ •
GitHub Flow༷ʑͳܗͰԠ༻Մೳ • Protected BranchesΛ࢝ΊɺػೳΛΓɺ։ൃϑϩʔΛߏங͠Α͏ • ࢼߦࡨޡ͠ɺࣗ͝ʹͱͬͯͷ࠷దղΛݟग़ͦ͏
How people build software Thank you!
How people build software Questions?