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

History in 5 years of CircleCI and CyberAgent

History in 5 years of CircleCI and CyberAgent

2019.03.05 CircleCI User Community Meetup #2

stormcat24

March 05, 2019
Tweet

More Decks by stormcat24

Other Decks in Programming

Transcript

  1. History in 5 years

    of

    CircleCI and CyberAgent
    2019.03.05 CircleCI User Community Meetup #2

    @stormcat24

    View Slide

  2. stormcat24

    View Slide

  3. 2012- CyberAgent, Inc.
    2015-2018 FRESH LIVE
    2018- OpenSaaS Studio

    View Slide

  4. $ZCFS"HFOUʹ͓͚Δ$*ͷྺ࢙

    View Slide

  5. ख࡞ۀ
    in 2014

    View Slide

  6. ࣗ෼͸$*୲౰͡Όͳ͍͔Β
    Α͘Θ͔Βͳ͍Α
    +FOLJOTͰϙνϙνͯ͠
    σϓϩΠͰ͖ͯ؆୯
    $*ճͬͯΔ࣌ؒ͸
    5XJJUUFS͠Α͏
    ։ൃऀ
    ࠔͬͨΒ+FOLJOT
    ͓͡͞Μ͕
    ͳΜͱ͔ͯ͘͠ΕΔΑ

    View Slide

  7. "ϓϩδΣΫτ͔Β
    +FOLJOTͷߏஙґཔ
    དྷ·ͨ͠Αͬͱ
    ࣅͨΑ͏ͳߏ੒ͷ+FOLJOT
    ͜ͷؒ΋࡞ͬͨؾ͕͢Δ͚Ͳ
    ·͍͍͔͋
    ŜŦŜŦŜŦŕŦŖƃ
    #ϓϩδΣΫτͷ+FOLJOT
    ϫʔΧʔͷεϖοΫ͕
    ଍Γͳ͍ͳ
    ख़࿅ͷ+FOLJOT͓͡͞Μ΁ͷಓ͸
    Ұ೔ʹͯ͠ͳΒͣͰ͢Α
    Ϗϧυ࣌ؒ௕͍͚Ͳ
    ͜͏͍͏΋Μ͔ͳʁ
    ΞϓϦͷํ͸Α͘Θ͔ΒΜ
    +FOLJOT͓͡͞Μ

    View Slide

  8. ͦΕͰ͍͍ͷ͔ʁ

    View Slide

  9. ͏·͍ͬͯ͘Δ͠
    ͍͍Μ͡Όͳ͍ͷʙ

    View Slide

  10. View Slide

  11. ੈؒΛ஌Βͣʹ
    ͳ·্͡ख͍ͬͯ͘Δͱ
    ࢥߟఀࢭʹؕΓ΍͍͢

    View Slide

  12. ࣗ෼͸$*୲౰͡Όͳ͍͔Β
    Α͘Θ͔Βͳ͍Α
    +FOLJOTͰϙνϙνͯ͠
    σϓϩΠͰ͖ͯ؆୯
    $*ճͬͯΔ࣌ؒ͸
    5XJJUUFS͠Α͏
    ࠔͬͨΒ+FOLJOT
    ͓͡͞Μ͕
    ͳΜͱ͔ͯ͘͠ΕΔΑ
    6*ૢ࡞ͰߦΘΕΔ΂͖͔ʁ
    ଐਓԽΛڐ༰͢Δ͔ʁ
    ͓͡͞Μ͕ϊ΢ϋ΢Λ
    ดͨ͡··ୀ৬ͨ͠Βʁ
    ϦʔυλΠϜΛ୹ॖ͢΂͖Ͱ͸ʁ
    αʔϏεʹద੾ͳӡ༻͔ʁ
    ར༻ऀ͕ධՁ͢΂͖Ͱ͸ʁ

    View Slide

  13. "ϓϩδΣΫτ͔Β
    +FOLJOTͷߏஙґཔ
    དྷ·ͨ͠Αͬͱ
    ࣅͨΑ͏ͳߏ੒ͷ+FOLJOT
    ͜ͷؒ΋࡞ͬͨؾ͕͢Δ͚Ͳ
    ·͍͍͔͋
    ŜŦŜŦŜŦŕŦŖƃ
    #ϓϩδΣΫτͷ+FOLJOT
    ϫʔΧʔͷεϖοΫ͕
    ଍Γͳ͍ͳ
    ख़࿅ͷ+FOLJOT͓͡͞Μ΁ͷಓ͸
    Ұ೔ʹͯ͠ͳΒͣͰ͢Α
    Ϗϧυ࣌ؒ௕͍͚Ͳ
    ͜͏͍͏΋Μ͔ͳʁ
    ΞϓϦͷํ͸Α͘Θ͔ΒΜ
    ಛఆٕज़΁ͷա౓ͳࣥண ࡞ۀຬ଍΍Ζ
    ແବͳ࡞ۀʁ
    ΠϯϑϥͷίʔυԽ͸͞ΕΔ΂͖Ͱ͸ʁ
    खಈͰεέʔϧ͢Δͷ͔ʁ
    ϓϩδΣΫτͷ਺͚ͩ
    ӡ༻͕૿͑Δ͕ʁ
    ΞϓϦΛݟͣʹϏϧυϓϩηεΛ
    ࠷దԽͰ͖Δ͔ʁ

    View Slide

  14. มԽΛٻΊΒΕͳ͍ͷͰ͋Ε͹
    ͦͷ··ͰΑ͍͔΋͠Εͳ͍͕ɺ
    ͦΜͳ͜ͱ͸΄ͱΜͲແ͍ɻ

    View Slide

  15. 4BB4ͷ$*αʔϏεͷ੝Γ্͕Γ

    View Slide

  16. Ϛωʔδυܕ$*Λ׆༻

    View Slide

  17. Ϛωʔδυ$*ͷར఺
    ‣ ӡ༻ͳ͠ɺεέʔϥϏϦςΟ͸Ͱղܾ
    ‣ δϣϒͷίʔυԽ
    ‣ %PDLFS΍༷ʑͳΤίγεςϜͷαϙʔτ
    ‣ ܧଓతͳػೳ௥Ճɺखް͍Ϣʔβʔαϙʔτ
    ຊ࣭తͳ։ൃʹΑΓूதͰ͖Δɻ
    αʔϏεΛૣ͘ಧ͚͍ͨͳΒ࢖Θͳ͍બ୒ࢶ͸ແ͍

    View Slide

  18. ͔͠͠ɺɹɹɹɹɹɹɹɹʹ
    ରԠͨ͠$*αʔϏε͸
    ౰࣌΄ͱΜͲͳ͔ͬͨ

    View Slide

  19. View Slide

  20. ࣾ಺ͷ$*Λ΋ͬͱઌਐతʹ
    +FOLJOT͸ଔۀ͠Α͏
    ػೳݕূͷ݁Ռ
    $JSDMF$*͕࠷΋ྑ͍
    ίϯςφʹ44)Ͱೖͬͯ
    σόοάͰ͖Δͷ࠷ߴ
    &OUFSQSJTFͷαϙʔτ͋Δʂ
    "1*΋ॆ࣮
    ΦϖϨʔγϣϯʹ΋෯͕ग़Δ
    $JSDMF$*ࣾͷ
    ϗεϐλϦςΟ͕ͱͯ΋ྑ͍
    ڧҾͳඪ४ԽͰ͸ͳ͘
    ࣗવͳࣾ಺σϑΝΫτԽ΁

    View Slide

  21. ೥$$*&༠க׆ಈ։࢝
    ༠க࢝Ί·ʔ͢
    ۜͷ஄ؙͰ͸ͳ͍Ͱ͢
    ෆ޲͖ͳϢʔεέʔε΋
    ͋Γ·͊͢
    ίετ͸͜Ε͘Β͍Ͱ
    ࠷ॳ͸ίϯςφ਺̋͘Β͍Ͱ
    ͸͡Ί·͠ΐ͏
    +FOLJOT͓͡͞Μͷ༐ୀΛʂ

    View Slide

  22. ೥$$*&ར༻։࢝
    ‣ ࠷ॳ͸!TUPSNDBUͷ΍ͬͯͨ৽نϓϩδΣΫτ্ཱͪ͛Ͱར༻
    ‣ 4FSWFS 8FC "OESPJE *OGSBTUSVDUVSFͷྖҬͰϑϧ׆༻
    ‣ %FQMPZ΍5FSSBGPSNͷద༻ʹ΋ར༻
    ‣ ։ൃ্͕ख͘ճΓɺଞͷϓϩδΣΫτʹ΋ਅࣅ͞Εͳ͕ΒͲΜͲΜ޿͕ͬ
    ͍ͯ͘
    ‣ ίʔυԽ ZBNMʣͰਅࣅ͠΍͍͢
    ‣ (JU)VCʢ()&΋ʣͰDJSDMFZNMΛݕࡧ͢Ε͹͍͍ͩͨΘ͔Δ
    ‣ ೔ຊͰ࠷ॳͷސ٬ʁʢͨͿΜʣ

    View Slide

  23. ಋೖʹ͸ਚྗ͠·͕ͨ͠ɺ
    ԣ࣠Ͱͷීٴ׆ಈ͸ʢ΄΅ʣ͍ͯ͠·ͤΜɻ
    ˞ଞʹͦ͏͍͏ਓ͕ډͨΘ͚Ͱ΋͋Γ·ͤΜ

    View Slide

  24. ྡͷࣳੜ͸੨͘ݟ͑Δঢ়گΛͭ͘Δ
    ‣ ৽͍͜͠ͱΛ্ख͘ճͯ͠Δͱɺ൱͕ԠͰ΋஫໨͞ΕΔ
    ‣ ͔ͳΓ࢖͍౗ͨ͠͠ɺϒϩάͰͷΞ΢τϓοτ΋ଟ͔ͬͨͷͰঘߋ
    ‣ %FW0QT΍8FCΦϖϨʔγϣϯ͕஫໨͞ΕΔ࣌ظʹೖ͍ͬͯͨ
    ‣ ͏·͘ைྲྀʹ৐ͬͨʁ
    ‣ 4FSWFS͚ͩ͡Όͳ͘ɺ8FCɺ"OESPJEɺ*OGSBͷͲͷྖҬ͔Β΋੨͘ݟ͑Δ
    ࢿ࣭͕͋ͬͨ

    View Slide

  25. ೥ݱࡏ

    View Slide

  26. Repositories
    412
    ˞$JSDMF$*ϕʔε
    ˞$"ϝσΟΞ؅׋()&ௐ΂
    Projects
    40

    View Slide

  27. ΄΅੍ѹ

    View Slide

  28. $$*&ීٴͷ૯ׅ
    ‣ +FOLJOT͓͡͞Μഇۀ
    ‣ $*ͷϞμϯԽɺϊ΢ϋ΢ڞ༗ͷ͠΍͢͞ʢࣗવൃੜతʣ
    ‣ %FWɺ0QT૒ํͷ$*΁ͷҙࣝվֵ
    ‣ ίϯςφԽͷைྲྀʹ΋͏·͘Ϛονͨ͠
    ‣ ܥͷ%PDLFSʹ͸ଟগۤ࿑΋͕͋ͬͨ
    ‣ $$*&؅ཧऀͷӡ༻͸΋ͪΖΜθϩͰ͸ͳ͍
    ‣ ͍ͭ΋αϙʔτ͋Γ͕ͱ͏͍͟͝·͢

    View Slide

  29. $ZCFS"HFOUͱ$*ͷ͜Ε͔Βɹ

    View Slide

  30. &OUFSQSJTFͷδϨϯϚ

    View Slide

  31. &OUFSQSJTFͷδϨϯϚ
    ‣ &OUFSQSJTFͷ໋॓
    ‣ &OUFSQSJTF΁ͷ৽ػೳϥά͕͋Δʢૣ͘0SCT࢖͍͍ͨͱ͔ʣɹ
    ‣ Τοδͷޮ͍ͨνʔϜʹͱͬͯ͸গ͠ϞϠϞϠ͢Δ
    ‣ $JSDMF$*Ҏ֎ʹ΋࢖͍͍ͨαʔϏε͸ଟ͍
    ‣ ()&ʹରԠ͍ͯ͠Δ4BB4ͱͳΔͱબ୒ࢶ͕ڱ·Δ
    ‣ ରԠ͍ͯͯ͠΋ηΩϡϦςΟཁ݅Λຬ͔ͨ͢౳ɺݕূ͕ඞཁ

    View Slide

  32. HJUIVCDPN΁ͷҙࣝͷߴ·Γ

    View Slide

  33. ()&(JU)VCDPN
    ‣ ࠷ۙͷ৽ن্ཱͪ͛Ͱͦͷ܏޲͕ߴ·͖ͬͯͨ
    ‣ ϓϩδΣΫτʹ͋ͬͨ4BB4Λɺࣗ෼ͨͪͷࡋྔͰܾΊΑ͏ͱ͍͏ҙࢥ
    ‣ ։ൃ૊৫ͱͯ͠͸͋Δ΂͖࢟Ͱ͋Δͱݴ͑Δ
    ‣ $JSDMF$*͕બ͹Εͳ͘ͳΔཧ༝ʹ͸ͳΒͳ͍
    ‣ ඪ४Խ͔Βɺࣗ཯తͳϦςϥγʔͷৢ੒΁

    View Slide

  34. ࠷ۙͷ৽نϓϩδΣΫτ
    ‣ $JSDMF$*͸(JU)VCDPNϓϩδΣΫτͰ΋ී௨ʹબ͹Ε͍ͯΔ
    ‣ ωΠςΟϒ੎͸#JUSJTF͕ଟ͍
    ‣ (JU0QTͷྲྀߦɺΑΓચ࿅͞Εͨ։ൃϓϩηε΁
    ‣ $JSDMF$*NFSHJGZͰ13ࣗಈϚʔδͱ͔
    ‣ ,VCFSOFUFTར༻ϓϩδΣΫτ
    ‣ UFTUJOGSBQSPX΍"SHP$%ͱ͍ͬͨ૊Έ߹Θͤ΋

    View Slide

  35. $"͸దࡐదॴͷจԽ
    DPNͱ&OUFSQSJTF͸
    ౰໘͸ڞଘ͍ͯ͘͠Ͱ͠ΐ͏

    View Slide

  36. $"ͱ$JSDMF$*ͷग़ձ͍͔Βૣ೥
    ։ൃޮ཰͚ͩͰ͸ͳ͘ɺ
    ։ൃϓϩηε΍จԽ΋େ͖͘ਐา

    View Slide

  37. ྑ͍4BB4΍πʔϧʹΑͬͯ
    ։ൃऀͷ໨͸
    ࣮֬ʹං͍͖͑ͯ·͢
    पΓͷ໨ʹ͖ͭ΍͍͢
    ੒ޭϞσϧΛͭͰ΋ଟ͘
    ࡞Ζ͏ʂ
    ඪ४Խ͸طಘݖӹԽͱ
    දཪҰମͰ͋Δ͜ͱ΋஫ҙ
    ։ൃऀͷ։ൃϓϩηεվળ΍
    ৽ٕज़΁ͷҙཉΛେࣄʹ͠Α͏
    &OUFSQSJTFͷδϨϯϚ͸
    ඞ͖ͣͭ·ͱ͏
    $JSDMF$*+BQBOઃཱ
    ׆ൃͳϢʔβʔίϛϡχςΟ
    ڧ͍҆৺ײ

    View Slide

  38. 5IBOLT✋

    View Slide