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

GitHub Business Seminar

Takafumi Ikeda
December 04, 2017

GitHub Business Seminar

2017-12-04

Takafumi Ikeda

December 04, 2017
Tweet

More Decks by Takafumi Ikeda

Other Decks in Business

Transcript

  1. # Where software is built # $ 3 TAKAFUMI IKEDA

    SOLUTIONS ENGINEER Who am I?
  2. How software is built % For Internal Only - Confidential

    / 2015 ਺ࣈͰݟΔGitHub 12 % ࠾༻͍ͯ͠Δ େֶͷ਺ 1,000+ ొ࿥Ϣʔβʔ਺ 2,400ສ ϦϙδτϦ਺ 6,700ສ ར༻اۀɾஂମ਺ 60,000+ ೔ຊ͔Βͷ݄ؒ ๚໰ऀ਺ 70ສ ೔ຊͷ͓٬༷਺ 1,400+
  3. How software is built % For Internal Only - Confidential

    / 2015 15 & OPEN SOURCE LEADERS SOFTWARE SPECIALISTS FORWARD THINKING ENTERPRISES GitHub ͷ࠾༻ൣғ
  4. ! Where software is built GitHubҎલ 17 ! " #

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

    / 2015 23 & ։ൃϑϩʔͷத৺ B U I L D C O L L A B O R A T E D E P L O Y ' ( $ %
  6. Where software is built ιϑτ΢ΣΞ͕ੈքΛҿΈࠐΉ 25 ) ! Ϣʔβʔ͸ੈքதͲ͜ Ͱ΋ಉ͡༏ΕͨϢʔβʔ

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

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

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

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

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

    . . Create a Branch Open a Pull Request Merge and deploy
  12. ! Where software is built Ϛʔδ͢Δલʹςετ͢Δ͜ͱ͕Ͱ͖Δ 42 / CI ON

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

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

    AND REQUIRED STATUSES Status APIΛ࢖͏͜ͱͰɺPRͷϚʔδʹ ৚݅Λ͚ͭΔ͜ͱ͕Ͱ͖Δ CIΛύε͢Δ͜ͱͰ͋ͬͨΓɺԿΒ͔ͷ νΣοΫΛ௨ա͢Δ͜ͱͰ͋ͬͨΓɻ طଘͷ3rdύʔςΟʔͷαʔϏεͷଟ͕͘ طʹରԠࡁ
  15. ! Where software is built 47 ( , - .

    . . Create a Branch Open a Pull Request Merge and deploy
  16. ! Where software is built σϓϩΠͷঢ়گ΋ه࿥Ͱ͖Δ 48 1 σϓϩΠAPIΛར༻͠ ͯPRʹཤྺΛ࢒ͤΔ

    PRͷมߋ͕Ͳ͜ʹσϓϩΠ͞Εͨͷ͔ɺ ঢ়گ͸Ͳ͏ͩͬͨͷ͔ɺه࿥͕࢒Δ ޙͰݟฦ͢͜ͱ͕Մೳ
  17. ! Where software is built 51 ( , - .

    . . Create a Branch Open a Pull Request Merge and deploy
  18. ! Where software is built Pull Requests୯ҐͰRevert͕Մೳ 53 2 PULL

    REQUEST୯ҐͰ REVERTͰ͖Δ Pull RequestΛϚʔδͨ͠ޙʹ໰ ୊ʹؾ͍ͮͨ৔߹ɺ͜ͷ୯ҐͰ Revert͕Մೳ Revert΋Pull RequestʹͳΓɺCI ΋࣮ࢪͰ͖Δ͠ϨϏϡʔ΋Մೳ
  19. ! Where software is built Pull Requestʹ͋ΒΏΔ৘ใ͕ू·Δ 56 1 ͋ΒΏΔ৘ใ͕PRʹ

    ཤྺͱͯ͠ू·Δ ίϛοτϩά΋ɺձ࿩ͷϩά΋ɺσϓϩ Πͷϩά΋Ϛʔδͷϩά΋ɺ͢΂ͯͷྲྀ ΕΛPull Requestʹू໿͢Δ͜ͱ͕Ͱ͖Δ
  20. ! Where software is built BlameΛ࢖ͬͯίʔυ͔ΒPR·ͰḪΕΔ 58 3 ͍ͭ୭͕Ͳ͏มߋͨ͠ͷ͔ Λ௥੻Ͱ͖Δ

    gitͷblameΛ͞ΒʹUI্ͰΘ͔Γ ΍֬͘͢ೝͰ͖Δ ίʔυ͔ΒPR·ͰḪͬͯ֬ೝ͢ Δ͜ͱ͕Մೳ
  21. Where software is built % % 60 • GitHub͸OSS͓Αͼاۀͷιϑτ΢ΣΞ։ൃΛมֵͨ͠ •

    ։ൃͷத৺ͱͳΔίϥϘϨʔγϣϯϓϥοτϑΥʔϜ • GitHub FlowͰߴ଎͔ͭߴ඼࣭ͳ։ൃ͕Մೳʹ • օ͞Μͷݱ৔ʹ΋GitHubΛಋೖ͍͖ͯ͠·͠ΐ͏