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
77k
はてなブログチームの開発フローとGitHub
6/1 github kaigi
shibayu36
June 01, 2014
Tweet
Share
More Decks by shibayu36
See All by shibayu36
個人CLAUDE.md紹介と設定から学んだこと/introduce-my-claude-md
shibayu36
0
230
今の生産性改善活動で大切にしている考え方
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
Other Decks in Programming
See All in Programming
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
2.2k
Navigating Dependency Injection with Metro
zacsweers
2
170
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
170
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
360
Rancher と Terraform
fufuhu
2
240
速いWebフレームワークを作る
yusukebe
5
1.7k
Microsoft Orleans, Daprのアクターモデルを使い効率的に開発、デプロイを行うためのSekibanの試行錯誤 / Sekiban: Exploring Efficient Development and Deployment with Microsoft Orleans and Dapr Actor Models
tomohisa
0
240
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
1.1k
時間軸から考えるTerraformを使う理由と留意点
fufuhu
14
4.6k
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
270
AI時代のUIはどこへ行く?
yusukebe
16
8.6k
機能追加とリーダー業務の類似性
rinchoku
2
1.2k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
55
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Facilitating Awesome Meetings
lara
55
6.5k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
A designer walks into a library…
pauljervisheath
207
24k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Automating Front-end Workflow
addyosmani
1370
200k
Done Done
chrislema
185
16k
Typedesign – Prime Four
hannesfritz
42
2.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
111
20k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
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