Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
効果的にGitHubを使うために
Search
Takafumi Ikeda
June 07, 2017
Technology
4.2k
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
効果的にGitHubを使うために
GitHub Constellation Tokyo
https://githubuniverse.com/constellation/
Takafumi Ikeda
June 07, 2017
More Decks by Takafumi Ikeda
See All by Takafumi Ikeda
APIゲートウェイとサービスメッシュ
ikeike443
0
540
はじめてのKong Konnect
ikeike443
0
260
Kuma
ikeike443
2
3.6k
10分で分るGitHub Actions
ikeike443
3
2.3k
GitHub Actionsはどのような未来を描くのか
ikeike443
3
2.9k
GitHubber@日本
ikeike443
6
12k
GitHub Business Seminar
ikeike443
1
160
How we ship GitHub with GitHub -- ChatOps
ikeike443
0
410
How People Build Software
ikeike443
0
280
Other Decks in Technology
See All in Technology
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
240
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
700
Why Agent Cost Needs Observability
nttcom
0
130
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
480
Minecraft JavaのMODをSwiftで作る
1mash0
0
200
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
3
1.2k
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
3
680
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
33
31k
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
140
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
460
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
150
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.5k
Visualization
eitanlees
152
17k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
480
So, you think you're a good person
axbom
PRO
2
2.2k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Marketing to machines
jonoalderson
1
5.8k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
440
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Designing for Performance
lara
611
70k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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?