Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Being successful with GitHub Or Breaking your s...

Being successful with GitHub Or Breaking your silos

日本語版

Takafumi Ikeda

February 17, 2016
Tweet

More Decks by Takafumi Ikeda

Other Decks in Technology

Transcript

  1. How software is built % For Internal Only - Confidential

    / 2015 ਺ࣈͰݟΔGitHub 12 % ࠾༻͍ͯ͠Δ େֶͷ਺ 1,000+ ొ࿥Ϣʔβʔ਺ 1,200ສ ϦϙδτϦ਺ 3,200ສ ར༻اۀɾஂମ਺ 60,000+ ೔ຊ͔Βͷ݄ؒ ๚໰ऀ਺ 70ສ ೔ຊͷ͓٬༷਺ 1,400+
  2. ! Where software is built GitHubҎલ 20 ! " #

    " $ " % " & " ' " ( " ) " x " $ " % " & " ' " ( " ) " ! "
  3. How software is built % For Internal Only - Confidential

    / 2015 26 & OPEN SOURCE LEADERS SOFTWARE SPECIALISTS FORWARD THINKING ENTERPRISES GitHub ͷ࠾༻ൣғ
  4. Where software is built ιϑτ΢ΣΞ͕ੈքΛҿΈࠐΉ 28 ' ! Ϣʔβʔ͸ੈքதͲ͜ Ͱ΋ಉ͡༏ΕͨϢʔβʔ

    ମݧΛٻΊ͍ͯ·͢ ٕज़ͷਐา͕͋ΒΏΔ ࢈ۀͷ͋ΓํΛม͑ͭ ͭ͋Γ·͢ &
  5. ! Where software is built 29 ( ) χʔζ ͍ۤ͠ϙΠϯτ

    • ߴ͍ੜ࢈ੑ • ૉ੖Β͍͠Ϣʔβʔମݧͱߴ͍඼࣭ • ਝ଎͔ͭΠϊϕʔςΟϒͳ੡඼ • ͱͯ΋஗͘ɺ৴པग़དྷͳ͍։ൃϑϩʔ͓ΑͼϦϦʔεϑϩʔ • ίʔυϨϏϡʔ΋CI΋ͳ͘ɺσάϨ͕සൃ • ಁ໌ੑ͕௿͘ɺଞ෦ॺ͕ԿΛ͍ͯ͠Δ͔Θ͔Βͳ͍ɺंྠͷ࠶ൃ໌ ͍·։ൃݱ৔ͰԿ͕ى͖͍ͯΔͷ͔
  6. ! Where software is built GitHub Flow! 34 * +

    , - - - Create a Branch Open a Pull Request Merge and deploy
  7. ! Where software is built 35 * + ϦεΫͳ͠Ͱ࣮ݧͰ͖Δ ϒϥϯνͷੜଘظؒΛ୹͘Ͱ͖Δ

    • ࣗ෼ͷϒϥϯν্Ͱ͸ͳΜͰ΋Ͱ͖Δ • ଞਓͷ࡞ۀΛअຐ͢ΔϦεΫ͕ͳ͍ɺଞਓʹअຐ΋͞Εͳ͍ • ϒϥϯνͷ࡞੒͸ߴ଎Ͱ҆શ͔ͭ؆୯ʹͰ͖Δ • ४උ͕Ͱ͖ͨΒ͙͢ʹϚʔδ͠ɺ͙͢ʹ࡟আͰ͖Δ • ظؒͷ௕͍ϒϥϯν͸ίϯϑϦΫτ͕ى͖΍͘͢ͳΓϚʔδ͠ʹ͍͘ • ϒϥϯνΛ࡟আ͢Δͷ΋҆શͰߴ଎ʹͰ͖Δ ϒϥϯν࡞੒͕ߴ଎Ͱ҆શ͔ͭ؆୯
  8. ! Where software is built Pull RequestͰٞ࿦ͱϨϏϡʔ͕Ͱ͖Δ 36 - ୭Ͱ΋ר͖ࠐΜͰ

    ։ൃͰ͖Δ ؔ܎ऀશһΛר͖ࠐΜͰ࢓༷΍ཁ݅ʹͭ ͍ͯٞ࿦͕Ͱ͖Δ ϓϩάϥϚ͚ͩͰͳ͘ɺاըऀɺઃܭऀɺ QA୲౰ऀ͸΋ͪΖΜɺHR΍๏຿ɺܦཧ ͳͲͱ΋ίϥϘϨʔγϣϯ͕Մೳ
  9. ! Where software is built Ϛʔδ͢Δલʹςετ͢Δ͜ͱ͕Ͱ͖Δ 37 . CI ON

    PR IS THE BEST PRACTICE ࠓ೔ʹ͓͍ͯɺCI͸ඞਢͷϓϥΫςΟε Pull Requestʹରͯ͠CIΛ࣮ࢪ͢Δ͜ͱ ͕ۙ೥ඞਢͱͳͬͨϕετϓϥΫςΟε ͜ΕʹΑͬͯɺίʔυϨϏϡʔʹूத͢ Δ͜ͱ͕Ͱ͖Δ
  10. ! Where software is built Pull Requestʹର͢ΔCIͬͯʁ 38 * +

    , MasterͱPull RequestΛ CIαʔό্ͰϚʔδͯ͠ςετ CI݁ՌΛPull Requestʹ ϑΟʔυόοΫ
  11. ! Where software is built Ϛʔδʹ৚݅Λ͚ͭΔ͜ͱ͕Ͱ͖Δ 40 / PROTECTED BRANCHES

    AND REQUIRED STATUSES Status APIΛ࢖͏͜ͱͰɺPRͷϚʔδʹ ৚݅Λ͚ͭΔ͜ͱ͕Ͱ͖Δ CIΛύε͢Δ͜ͱͰ͋ͬͨΓɺԿΒ͔ͷ νΣοΫΛ௨ա͢Δ͜ͱͰ͋ͬͨΓɻ طଘͷ3rdύʔςΟʔͷαʔϏεͷଟ͕͘ طʹରԠࡁ
  12. ! Where software is built Pull Requests୯ҐͰRevert͕Մೳ 41 0 PULL

    REQUEST୯ҐͰ REVERTͰ͖Δ Pull RequestΛϚʔδͨ͠ޙʹ໰ ୊ʹؾ͍ͮͨ৔߹ɺ͜ͷ୯ҐͰ Revert͕Մೳ Revert΋Pull RequestʹͳΓɺCI ΋࣮ࢪͰ͖Δ͠ϨϏϡʔ΋Մೳ
  13. ! Where software is built BlameΛ࢖ͬͯίʔυ͔ΒPR·ͰḪΕΔ 43 1 ͍ͭ୭͕Ͳ͏มߋͨ͠ͷ͔ Λ௥੻Ͱ͖Δ

    gitͷblameΛ͞ΒʹUI্ͰΘ͔Γ ΍֬͘͢ೝͰ͖Δ ίʔυ͔ΒPR·ͰḪͬͯ֬ೝ͢ Δ͜ͱ͕Մೳ
  14. ! Where software is built Pull Requestʹ͋ΒΏΔ৘ใ͕ू·Δ 45 2 ͋ΒΏΔ৘ใ͕PRʹ

    ཤྺͱͯ͠ू·Δ ίϛοτϩά΋ɺձ࿩ͷϩά΋ɺσϓϩ Πͷϩά΋Ϛʔδͷϩά΋ɺ͢΂ͯͷྲྀ ΕΛPull Requestʹू໿͢Δ͜ͱ͕Ͱ͖Δ
  15. ! Where software is built Pull Requestsͱؔ࿈͢ΔIssueΛด͡Δ͜ͱ͕Մೳ 52 3 PRͱؔ࿈ͯ͠ISSUEΛ

    ด͡Δ PRͱIssueΛؔ࿈෇͚ͯɺPR͕ Ϛʔδ͞Εͨͱಉ࣌ʹؔ࿈͢Δ IssueΛด͡Δ͜ͱ΋Մೳ
  16. ! Where software is built IssueͱPull RequestΛҰՕॴͰҰཡՄೳ 54 & ISSUEͱPULL

    REQUESTΛ ҰՕॴͰҰཡՄೳ ෳ਺ͷϓϩδΣΫτʹ·͕ͨͬ ͯIssue΍Pull RequestΛҰཡ͢Δ ͜ͱ͕Մೳ ϑΟϧλͰ෼ྨ΋Ͱ͖Δ
  17. ! Where software is built ༏Εͨ։ൃऀɺϓϩδΣΫτʹग़ձ͑Δ 56 4 ༏Εͨ։ൃऀ΍ϓϩδΣΫτ ͸طʹޚࣾͷதʹ

    ༏Εͨ։ൃऀ΍ϓϩδΣΫτ͸طʹޚࣾ ͷதʹଘࡏ͍ͯ͠Δ͕ɺͦΕʹؾͮ͘͜ ͱ͕Ͱ͖ΔΑ͏ʹͳΔ ࣾ಺ʹOSSͷΑ͏ͳจԽΛৢ੒Ͱ͖Δ ͢΂ͯΛݕࡧՄೳͰ͋ΓɺφϨοδϕʔ εͱͯ͠΋໾ʹཱͭ
  18. ! Where software is built Emoji! 58 ♥ ֆจࣈ͕ίϛϡχέʔγϣ ϯΛεϜʔζʹ

    ίʔυϨϏϡʔ͸ͱ͖ʹ૬खͷؾ෼Λ֐ ͢ΔՄೳੑ͕͋Γ·͢ΑͶʂʁ ద੾ͳֆจࣈΛ࢖͏͜ͱͰงғؾΛ໌Δ ͘ɺલ޲͖ʹͰ͖·͢Αʂʂ ֆจࣈΛ࢖͏͜ͱΛͨΊΒΘͳ͍Ͱ ♥
  19. ! Where software is built FYI: զʑͷσϓϩΠํ๏ 60 6 PULL

    REQUESTϒϥ ϯνΛຊ൪΁σϓϩΠ զʑ͸PRϒϥϯνΛຊ൪ʹσϓϩΠ͠ɺ ໰୊͕ͳ͍͜ͱΛ֬ೝͨ͠ޙʹMaster΁ Ϛʔδ ৄࡉ͸Լه http://githubengineering.com/deploying- branches-to-github-com/
  20. ! Where software is built ͦͷଞʹ΋ 61 ! ATOM GitHub͕ఏڙ͍ͯ͠ΔOSSͷ

    ςΩετΤσΟλ WebςΫϊϩδΛϕʔεʹ։ ൃ͞Ε͓ͯΓɺ༷ʑʹϋοΫ ͕Մೳͳ༏Εͨπʔϧ HUBOT Hubot͸ͳΜͰ΋΍ͬͯ͘Ε Δ༏ΕͨϩϘοτ ChatπʔϧͱΑ͘౷߹ͯ͠ ༷ʑͳλεΫΛ͜ͳ͢
  21. Where software is built Breaking Your Silos What silos do

    you unconsciously have in your mind? 63 $
  22. Where software is built % Wrap Up: Breaking Your Silos

    67 • GitHub ʹΑͬͯ • ΞΠσΟΞΛૉૣ͘ɺଞਓΛअຐ͢Δ͜ͱͳ͘ࢼ͢͜ͱ͕Ͱ͖Δ • ։ൃϓϩηεʹ͋ΒΏΔਓΛר͖ࠐΉ͜ͱ͕Մೳʹ • ίʔυͷมߋͱϚʔδΛɺࣗ৴Λ࣋ͬͯߦ͏͜ͱ͕Ͱ͖Δ • ࣾ಺ͷ༏Εͨ࠽ೳ΍ɺ࠶ར༻ՄೳͳίʔυΛݟ͚ͭग़͢͜ͱ͕Մೳʹ • ίʔυͱϓϩδΣΫτʹؔ͢Δ͋ΒΏΔ৘ใ͕ҰՕॴʹ •ڪΕͣࣗ৴Λ࣋ͬͯ։ൃɺίϥϘϨʔγϣϯ͕Մೳʹʂ •αΠϩΛյ͠ɺνʔϜͷજࡏೳྗΛൃشͰ͖ΔΑ͏ʹʂ ! http://www.molemaster.com/industries-cement.asp