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
shibayu36
June 01, 2014
Programming
145
76k
はてなブログチームの開発フローとGitHub
6/1 github kaigi
shibayu36
June 01, 2014
Tweet
Share
More Decks by shibayu36
See All by shibayu36
今の生産性改善活動で大切にしている考え方
shibayu36
8
8.6k
エンジニアメンター制度の効果的な運用を目指して/improve-mentor-system
shibayu36
27
10k
グレードイメージ具体化のため昇格理由を公開する
shibayu36
8
5.9k
新機能作成時に開発ブランチに細かくmergeしていく戦略/merge-strategy-for-new-feature
shibayu36
6
17k
一から始めるJavaScriptユニットテスト/js-unit-test-from-scratch
shibayu36
8
33k
技術ブログを書くことについて/writing-tech-blog
shibayu36
17
26k
はてなと技術研修
shibayu36
1
6.4k
課題をテストで解決する
shibayu36
2
2.4k
Fluentd, mongoDB, Kibanaを利用したはてなブログABテストの事例
shibayu36
30
12k
Other Decks in Programming
See All in Programming
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
400
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
800
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
180
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
790
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
170
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
280
RailsGirls IZUMO スポンサーLT
16bitidol
0
190
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
440
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
120
PipeCDのプラグイン化で目指すところ
warashi
1
280
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
160
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
A better future with KSS
kneath
238
17k
Thoughts on Productivity
jonyablonski
69
4.7k
Code Reviewing Like a Champion
maltzj
524
40k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Done Done
chrislema
184
16k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Transcript
ͯͳϒϩάνʔϜͷ ։ൃϑϩʔͱGitHub 2014/06/01 GitHub Kaigi גࣜձࣾͯͳ @shiba_yu36
@shiba_yu36 ͯͳϒϩά גࣜձࣾͯͳ
ࠓͷ ͯͳϒϩάνʔϜʹ͍ͭͯ ։ൃϑϩʔͷ՝ͱͦͷղܾ
ͯͳϒϩάνʔϜ
ͯͳϒϩά http://hatenablog.com/
5 engineers 2 designers
170 pull requests 1,281 commits per month
45 releases per month
PO
։ൃΛอ͍ͯͯΔ
։ൃϑϩʔͷൃੜ ։ൃϑϩʔͷվળ on GHE
λεΫཧ ϨϏϡʔ ϦϦʔε
ϒϩάνʔϜͰͷ ։ൃͷྲྀΕ
։ൃͷྲྀΕ • issueΛొɾΞαΠϯ • issueʹରԠ͢Δbranch࡞ • ։ൃɾϨϏϡʔɾmerge • merge͕ཷ·ͬͨΒϦϦʔε
wNBTUFS wຊ൪ͱಉҰ wEFWFMPQ w։ൃCSBODIɻϦϦʔεՄೳͳ ͷNFSHF wGFBUVSFCSBODI wػೳ͝ͱͷ։ൃϒϥϯν ϒϥϯνӡ༻
ϒϥϯνӡ༻ NBTUFS EFWFMPQ GFBUVSFCSBODI GFBUVSFCSBODI SFMFBTF
ϒϥϯνӡ༻ NBTUFS EFWFMPQ GFBUVSFCSBODI GFBUVSFCSBODI SFMFBTF HJUqPXͷ؆қ൛
λεΫཧ ϨϏϡʔ ϦϦʔε
GitHubͱ λεΫཧ
ҎલͷλεΫཧ ϝΠϯͷ࣌ IssuesͷΈͷ࣌ 1. 2.
ϝΠϯͷ࣌
RedmineϝΠϯ • λεΫRedmineͰ • ίʔυϨϏϡʔGitHubͰ
Pull Request
Pull Request ։ൃऀ͕྆πʔϧݟΔඞཁ͕͋Δ ίʔυͱͷ࿈ܞศརͰͳ͍
։ൃऀͷޮ্͕͕Βͳ͍
πʔϧΛҰͭʹ Issuesͱίʔυͷ࿈ܞ
πʔϧΛҰͭʹ Issuesͱίʔυͷ࿈ܞ IssuesͷΈͷ࣌
IssuesϝΠϯ • λεΫཧIssuesͷΈ • ίʔυϨϏϡʔPull Request
։ൃऀͷݟΔπʔϧ͕ݮΔ ίʔυͱͷ࿈ܞ͕ศར ։ൃऀͷޮΞοϓ
a few months later…
ൃੜ!!
νʔϜͷॏཁͳͷԿ? ͦͷ1
νʔϜͷॏཁͳͷԿ? ͦͷ1 Issuesʹ༏ઌɾకΊΓ ͷΈগͳ͍
ࠓ୭͕ԿΛͬͯΔͷ? ͦͷ2
ࠓ୭͕ԿΛͬͯΔͷ? ͦͷ2 IssuesͰਐߦதͷλεΫΛ ၆ᛌͰ͖ͳ͍
։ൃऀͷޮྑ͍ ! Ϛωʔδϟ͕νʔϜͷ ၆ᛌΛग़དྷͳ͍
IssuesϝΠϯʹ։ൃऀޮอͭ νʔϜͷॏཁͳͷ ਐߦத͚ͩଞͰαϙʔτ +
IssuesϝΠϯʹ։ൃऀޮอͭ νʔϜͷॏཁͳͷ ਐߦத͚ͩଞͰαϙʔτ + ΧϯόϯͰิॿ
x Χϯόϯ
Issuesͷׂ • શͯͷλεΫ͜͜ʹೖͬͯΔ • ୭Ͱ͜͜ʹՃ͍͍ͯ͠ • Ճ͞ΕͨλεΫຖேݕ౼
Χϯόϯͷׂ • IssuesͷதͰॏཁͳͷ͚ͩɹɹ Ϛωʔδϟ͕બ • ॏཁͳͷ͔͠Ճ͠ͳ͍ • ேձͰ͔͠ݟͳ͍
Χϯόϯೋຕ • ॏཁͳͷλεΫϦετ • ॏཁͳͷਐḿ
None
ॏཁͳͷ͚ͩϚωʔδϟ͕ᝦՃ
None
0%~100% ਓ
։ൃऀ ॏཁ • Ϛωʔδϟ • ேձ
։ൃऀேձҎ֎ GitHub͚ͩ Ϛωʔδϟॏཁͳͷ͚ͩ ϗϫΠτϘʔυͰঢ়گѲ
ॏཁͳͷѲͭͭ͠ ։ൃऀޮͷྑ͍ཧʹ
GitHubͱλεΫཧ • ։ൃऀʹͱͬͯҰ൪ޮͷྑ͍ɹɹ IssuesΛϝΠϯ • ϗϫΠτϘʔυͰॏཁͳͷΛཧ • εΫϥϜ·Ͱ͍͔ͳ͍ΏΔ͍λεΫ ཧ
λεΫཧ ϨϏϡʔ ϦϦʔε
GitHubͱ ϨϏϡʔ
ҎલͷϨϏϡʔͷྲྀΕ
@hitode909 PR͠·ͨ͠ ϨϏϡʔΑΖ͓͘͠ئ͍͠·͢ ͍Γ·͢
@hitode909 PR͠·ͨ͠ ϨϏϡʔΑΖ͓͘͠ئ͍͠·͢ ͍Γ·͢ ݸผʹ͓ئ͍
ͳΜ͔ϨϏϡʔ͠Α͏ Pull Request͔Β ͦΕͬΆ͍ͭ୳ͯ͠ϨϏϡʔ
ͳΜ͔ϨϏϡʔ͠Α͏ Pull Request͔Β ͦΕͬΆ͍ͭ୳ͯ͠ϨϏϡʔ Pull Request͔Β୳͢
ී௨ͷPRϨϏϡʔ
ൃੜ!!
ͦͷ1 Pull Requestͷঢ়ଶ͕͔Βͳ͍! (ͷͰϨϏϡʔΛͨΊΒ͏) • ϨϏϡʔґཔத? • ϨϏϡʔҰͯ͠मਖ਼த? • ϨϏϡʔ͏ऴΘͬͯΔ?
ͦͷ2 ϨϏϡʔ͕ফԽ͞Εͣ! Pull Request͕͍͢͝ྔʹ 37݅…
ͦͷ3 ϕςϥϯ͚͕ͩͻͨ͢Β! ϨϏϡʔ͠ଓ͚ΔΊʹ
GitHubͷ ϨϏϡʔπʔϧ࠷ߴ ! ͔͠͠ଅਐগͳ͍
ղܾҊ • ϨϏϡʔঢ়ଶΛ͖ͬΓ • ϨϏϡʔґཔҰཡΛ͔Γ͘͢ • ΈΜͳͰϨϏϡʔ͢Δงғؾ࡞Γ
ϨϏϡʔঢ়ଶϥϕϧ ϨϏϡʔλΠϜ
ϨϏϡʔঢ়ଶϥϕϧ ϨϏϡʔঢ়ଶΛ͖ͬΓ ϨϏϡʔґཔҰཡ͔Γ͘͢
ϨϏϡʔঢ়ଶϥϕϧ • Pull RequestʹϥϕϧΛ • ࠓͷϨϏϡʔঢ়ଶΛ͔Γ ͘͢
࠶ϨϏϡʔ ґཔ WIP Pull Request
ϨϏϡʔґཔҰཡΛݟͨΒ ࠓϨϏϡʔ͖͢ͷ͕͔Δ
ࣗͷΞαΠϯ͔Β ϨϏϡʔྃݟ͘͢
https://github.com/shimobayashi/pull-req-label QVMMSFRMBCFM
ϨϏϡʔλΠϜ ΈΜͳͰϨϏϡʔ͢Δงғؾ࡞Γ
ϨϏϡʔλΠϜ • ຖϥϯνޙ14:00ʙ • ʮϨϏϡʔґཔʯϥϕϧλεΫΛ ย͔ͬΒΈΜͳͰݟΔ
ϨϏϡʔλΠϜ IRCʹ௨ 14:01 ikachan01 : Ξο 14:01 ikachan03 : ϨϏϡʔλΠϜ͡ΌΜ
14:01 ikachan02 : ϫʔΦʂ ϨϏϡʔґཔ ͕9݅͋ΔΑʂ ࠓ͙͢νΣοΫνΣοΫʙ http:// **** > cockscomb funnelbit hitode909 shibayu36 ntakanashi
None
ϨϏϡʔͷ͖͔͚͕ͬग़དྷͯ ຖΈΜͳͰ ϨϏϡʔ͢ΔΑ͏ʹ
GitHubͱϨϏϡʔ • PR͚ͩͩͱϨϏϡʔͷଅਐ͕͏· ͘ߦ͔ͳ͔ͬͨ • ϨϏϡʔϥϕϧɾϨϏϡʔλΠϜ ͰɺΈΜͳͰϨϏϡʔ͢Δงғؾ ʹ
λεΫཧ ϨϏϡʔ ϦϦʔε
GitHubͱ ϦϦʔε
ϦϦʔεͷྲྀΕ Pull Request͕ͲΜͲΜmerge͞ΕΔ Ͳ͔͜ͰϦϦʔε
σϓϩΠࣗମ ίϚϯυҰൃʹ͍ͯͨ͠
σϓϩΠ࡞ۀͦͷͷҎ֎ʹ ϦϦʔεʹඞཁͳͷ͕͋Δ @onishi ͜ͷϦϦʔεΛ ͯ͠ྑ͍Ͱ͔͢ ϦϦʔεલʹݕূڥͰ ࠷ऴ֬ೝ͠·͠ΐ͏
ϦϦʔεͷྲྀΕ 1. ϚωʔδϟʹϦϦʔεͯ͠Α͍͔ ֬ೝ 2. ΈΜͳͰݕূڥͰ࠷ऴ֬ೝ 3. σϓϩΠίϚϯυͰσϓϩΠ!
શ෦ࣗಈԽ͖͠Εͳ͍
ൃੜ!!
ͦͷ1 Ϛωʔδϟ֬ೝͤͣʹ! ϦϦʔεͯ͠͠·ͬͨ
ͦͷ1 Ϛωʔδϟ֬ೝͤͣʹ! ϦϦʔεͯ͠͠·ͬͨ ࣗಈԽ͖͠Εͳ͍खॱͰͷϛε
ͦͷ2 ࣗಈԽ͖͠Εͳ͍෦Λ! ڭ͑ͳ͍ͱ৽ਓ͕ϦϦʔεͰ͖ͳ͍
σϓϩΠͦͷͷҎ֎Λ ্ख͘αϙʔτͰ͖ͳ͍͔
σϓϩΠͦͷͷҎ֎Λ ্ख͘αϙʔτͰ͖ͳ͍͔ ϦϦʔε༻Pull Requestʹ खॱॻΛ·ͱΊΔ
ϦϦʔε༻Pull Request • develop͔ΒmasterͷPRΛɹɹɹ ϦϦʔεखॱαϙʔτπʔϧʹ͢Δ ͜Ε
None
λΠτϧʹ֓ཁ ·ͱ·Δ
ϦϦʔε͞ΕΔϦετΛूΊΔ
֬ೝ͢Δ߲͕ νΣοΫϘοΫεͰ·ͱ·Δ
ϦϦʔεલݕূڥͰ ֬ೝ͢Δͷ·ͱ·Δ
ίϚϯυҰൃͰ શࣗಈ࡞
͋ͱ͜ΕΛͬͯ ϦϦʔε࡞ۀΛߦ͏
֬ೝͯ͠ νΣοΫ
ΈΜͳͰνΣοΫ
શνΣοΫͯ͠ ϦϦʔε!!
ϦϦʔεϛε͕ݮΓ ୭ͰϦϦʔεͰ͖ΔΑ͏ʹ
HJUQSSFMFBTF https://github.com/motemen/git-pr-release • ϦϦʔεͪͷissueΛूΊΔ • ಠࣗʹ࡞ۀखॱॻͷςϯϓϨʔτΛ࡞ΕΔ
GitHubͱϦϦʔε • σϓϩΠग़དྷΔ͚ͩࣗಈԽ • શ෦ࣗಈԽ͍͠ • Pull RequestΛ͏·͍͘ɺ࡞ۀ खॱͰαϙʔτ
·ͱΊ
λεΫཧ ϨϏϡʔ ϦϦʔε Issues x Χϯόϯ ϨϏϡʔϥϕϧ ϨϏϡʔλΠϜ ϦϦʔεPR git-pr-release
• GitHubΛϝΠϯʹ࠷େݶ׆༻ • ͍ΖΜͳ => ͦͷͨͼղܾ๏ Λݕ౼ • ͪΐͬͱͨ͠
ϫʔΫϑϩʔ վળ͠ଓ͚Δ͜ͱ͕େࣄ
13
ͯͳΠϯλʔϯ wࣾһͱಉ͡։ൃϑϩʔΛܦݧͰ͖·͢ wֶੜͷํͥͻ http://developer.hatenastaff.com/ entry/2014/05/23/145719
None