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.4k
エンジニアメンター制度の効果的な運用を目指して/improve-mentor-system
shibayu36
27
10k
グレードイメージ具体化のため昇格理由を公開する
shibayu36
8
5.8k
新機能作成時に開発ブランチに細かくmergeしていく戦略/merge-strategy-for-new-feature
shibayu36
6
17k
一から始めるJavaScriptユニットテスト/js-unit-test-from-scratch
shibayu36
8
32k
技術ブログを書くことについて/writing-tech-blog
shibayu36
17
26k
はてなと技術研修
shibayu36
1
6.3k
課題をテストで解決する
shibayu36
2
2.3k
Fluentd, mongoDB, Kibanaを利用したはてなブログABテストの事例
shibayu36
30
12k
Other Decks in Programming
See All in Programming
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
690
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
610
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
220
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
110
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.8k
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
Click-free releases & the making of a CLI app
oheyadam
2
120
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
340
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.2k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Scaling GitHub
holman
458
140k
Optimizing for Happiness
mojombo
376
70k
Agile that works and the tools we love
rasmusluckow
327
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
A Philosophy of Restraint
colly
203
16k
A designer walks into a library…
pauljervisheath
204
24k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Building Applications with DynamoDB
mza
90
6.1k
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