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
History in 5 years of CircleCI and CyberAgent
Search
stormcat24
March 05, 2019
Programming
3
830
History in 5 years of CircleCI and CyberAgent
2019.03.05 CircleCI User Community Meetup #2
stormcat24
March 05, 2019
Tweet
Share
More Decks by stormcat24
See All by stormcat24
素早く賢く失敗するDeveloper Productivityの実現を目指して
stormcat24
4
4.8k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.3k
令和時代のSaaS開発
stormcat24
1
260
Kubernetes Handson Osaka
stormcat24
5
560
Kubernetes Handson
stormcat24
5
4.3k
DockerとKubernetesでアプリケーション開発にコンテナをフル活用!
stormcat24
0
300
Base Image Journey 2018
stormcat24
29
140k
kotlin-fest
stormcat24
13
17k
Kotlin/Native
stormcat24
0
990
Other Decks in Programming
See All in Programming
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
200
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
8
1.2k
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
150
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
40
16k
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
170
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.6k
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
140
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
110
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
220
ML.NETで始める機械学習
ymd65536
0
230
コードを読んで理解するko build
bells17
1
110
React 19アップデートのために必要なこと
uhyo
8
1.5k
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
74
9.2k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Become a Pro
speakerdeck
PRO
26
5.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Gamification - CAS2011
davidbonilla
80
5.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Building Adaptive Systems
keathley
40
2.4k
Thoughts on Productivity
jonyablonski
69
4.5k
Rails Girls Zürich Keynote
gr2m
94
13k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
250
Transcript
History in 5 years of CircleCI and CyberAgent 2019.03.05 CircleCI
User Community Meetup #2 @stormcat24
stormcat24
2012- CyberAgent, Inc. 2015-2018 FRESH LIVE 2018- OpenSaaS Studio
$ZCFS"HFOUʹ͓͚Δ$*ͷྺ࢙
ख࡞ۀ in 2014
ࣗ$*୲͡Όͳ͍͔Β Α͘Θ͔Βͳ͍Α +FOLJOTͰϙνϙνͯ͠ σϓϩΠͰ͖ͯ؆୯ $*ճͬͯΔ࣌ؒ 5XJJUUFS͠Α͏ ։ൃऀ ࠔͬͨΒ+FOLJOT ͓͡͞Μ͕ ͳΜͱ͔ͯ͘͠ΕΔΑ
"ϓϩδΣΫτ͔Β +FOLJOTͷߏஙґཔ དྷ·ͨ͠Αͬͱ ࣅͨΑ͏ͳߏͷ+FOLJOT ͜ͷؒ࡞ͬͨؾ͕͢Δ͚Ͳ ·͍͍͔͋ ŜŦŜŦŜŦŕŦŖƃ #ϓϩδΣΫτͷ+FOLJOT ϫʔΧʔͷεϖοΫ͕ Γͳ͍ͳ
ख़࿅ͷ+FOLJOT͓͡͞Μͷಓ Ұʹͯ͠ͳΒͣͰ͢Α Ϗϧυ͍͚࣌ؒͲ ͜͏͍͏Μ͔ͳʁ ΞϓϦͷํΑ͘Θ͔ΒΜ +FOLJOT͓͡͞Μ
ͦΕͰ͍͍ͷ͔ʁ
͏·͍ͬͯ͘Δ͠ ͍͍Μ͡Όͳ͍ͷʙ
None
ੈؒΛΒͣʹ ͳ·্͡ख͍ͬͯ͘Δͱ ࢥߟఀࢭʹؕΓ͍͢
ࣗ$*୲͡Όͳ͍͔Β Α͘Θ͔Βͳ͍Α +FOLJOTͰϙνϙνͯ͠ σϓϩΠͰ͖ͯ؆୯ $*ճͬͯΔ࣌ؒ 5XJJUUFS͠Α͏ ࠔͬͨΒ+FOLJOT ͓͡͞Μ͕ ͳΜͱ͔ͯ͘͠ΕΔΑ 6*ૢ࡞ͰߦΘΕΔ͖͔ʁ
ଐਓԽΛڐ༰͢Δ͔ʁ ͓͡͞Μ͕ϊϋΛ ดͨ͡··ୀ৬ͨ͠Βʁ ϦʔυλΠϜΛॖ͖͢Ͱʁ αʔϏεʹదͳӡ༻͔ʁ ར༻ऀ͕ධՁ͖͢Ͱʁ
"ϓϩδΣΫτ͔Β +FOLJOTͷߏஙґཔ དྷ·ͨ͠Αͬͱ ࣅͨΑ͏ͳߏͷ+FOLJOT ͜ͷؒ࡞ͬͨؾ͕͢Δ͚Ͳ ·͍͍͔͋ ŜŦŜŦŜŦŕŦŖƃ #ϓϩδΣΫτͷ+FOLJOT ϫʔΧʔͷεϖοΫ͕ Γͳ͍ͳ
ख़࿅ͷ+FOLJOT͓͡͞Μͷಓ Ұʹͯ͠ͳΒͣͰ͢Α Ϗϧυ͍͚࣌ؒͲ ͜͏͍͏Μ͔ͳʁ ΞϓϦͷํΑ͘Θ͔ΒΜ ಛఆٕज़ͷաͳࣥண ࡞ۀຬΖ ແବͳ࡞ۀʁ ΠϯϑϥͷίʔυԽ͞ΕΔ͖Ͱʁ खಈͰεέʔϧ͢Δͷ͔ʁ ϓϩδΣΫτͷ͚ͩ ӡ༻͕૿͑Δ͕ʁ ΞϓϦΛݟͣʹϏϧυϓϩηεΛ ࠷దԽͰ͖Δ͔ʁ
มԽΛٻΊΒΕͳ͍ͷͰ͋Ε ͦͷ··ͰΑ͍͔͠Εͳ͍͕ɺ ͦΜͳ͜ͱ΄ͱΜͲແ͍ɻ
4BB4ͷ$*αʔϏεͷΓ্͕Γ
Ϛωʔδυܕ$*Λ׆༻
Ϛωʔδυ$*ͷར ‣ ӡ༻ͳ͠ɺεέʔϥϏϦςΟͰղܾ ‣ δϣϒͷίʔυԽ ‣ %PDLFS༷ʑͳΤίγεςϜͷαϙʔτ ‣ ܧଓతͳػೳՃɺखް͍Ϣʔβʔαϙʔτ ຊ࣭తͳ։ൃʹΑΓूதͰ͖Δɻ
αʔϏεΛૣ͘ಧ͚͍ͨͳΒΘͳ͍બࢶແ͍
͔͠͠ɺɹɹɹɹɹɹɹɹʹ ରԠͨ͠$*αʔϏε ࣌΄ͱΜͲͳ͔ͬͨ
None
ࣾͷ$*Λͬͱઌਐతʹ +FOLJOTଔۀ͠Α͏ ػೳݕূͷ݁Ռ $JSDMF$*͕࠷ྑ͍ ίϯςφʹ44)Ͱೖͬͯ σόοάͰ͖Δͷ࠷ߴ &OUFSQSJTFͷαϙʔτ͋Δʂ "1*ॆ࣮ ΦϖϨʔγϣϯʹ෯͕ग़Δ $JSDMF$*ࣾͷ
ϗεϐλϦςΟ͕ͱͯྑ͍ ڧҾͳඪ४ԽͰͳ͘ ࣗવͳࣾσϑΝΫτԽ
$$*&༠க׆ಈ։࢝ ༠க࢝Ί·ʔ͢ ۜͷؙͰͳ͍Ͱ͢ ෆ͖ͳϢʔεέʔε ͋Γ·͊͢ ίετ͜Ε͘Β͍Ͱ ࠷ॳίϯςφ̋͘Β͍Ͱ ͡Ί·͠ΐ͏ +FOLJOT͓͡͞Μͷ༐ୀΛʂ
$$*&ར༻։࢝ ‣ ࠷ॳ!TUPSNDBUͷͬͯͨ৽نϓϩδΣΫτ্ཱͪ͛Ͱར༻ ‣ 4FSWFS 8FC "OESPJE *OGSBTUSVDUVSFͷྖҬͰϑϧ׆༻ ‣ %FQMPZ5FSSBGPSNͷద༻ʹར༻
‣ ։ൃ্͕ख͘ճΓɺଞͷϓϩδΣΫτʹਅࣅ͞Εͳ͕ΒͲΜͲΜ͕ͬ ͍ͯ͘ ‣ ίʔυԽ ZBNMʣͰਅࣅ͍͢͠ ‣ (JU)VCʢ()&ʣͰDJSDMFZNMΛݕࡧ͢Ε͍͍ͩͨΘ͔Δ ‣ ຊͰ࠷ॳͷސ٬ʁʢͨͿΜʣ
ಋೖʹਚྗ͠·͕ͨ͠ɺ ԣ࣠Ͱͷීٴ׆ಈʢ΄΅ʣ͍ͯ͠·ͤΜɻ ˞ଞʹͦ͏͍͏ਓ͕ډͨΘ͚Ͱ͋Γ·ͤΜ
ྡͷࣳੜ੨͘ݟ͑Δঢ়گΛͭ͘Δ ‣ ৽͍͜͠ͱΛ্ख͘ճͯ͠Δͱɺ൱͕ԠͰ͞ΕΔ ‣ ͔ͳΓ͍ͨ͠͠ɺϒϩάͰͷΞτϓοτଟ͔ͬͨͷͰঘߋ ‣ %FW0QT8FCΦϖϨʔγϣϯ͕͞ΕΔ࣌ظʹೖ͍ͬͯͨ ‣ ͏·͘ைྲྀʹͬͨʁ ‣
4FSWFS͚ͩ͡Όͳ͘ɺ8FCɺ"OESPJEɺ*OGSBͷͲͷྖҬ͔Β੨͘ݟ͑Δ ࢿ࣭͕͋ͬͨ
ݱࡏ
Repositories 412 ˞$JSDMF$*ϕʔε ˞$"ϝσΟΞ()&ௐ Projects 40
΄΅੍ѹ
$$*&ීٴͷ૯ׅ ‣ +FOLJOT͓͡͞Μഇۀ ‣ $*ͷϞμϯԽɺϊϋڞ༗ͷ͢͠͞ʢࣗવൃੜతʣ ‣ %FWɺ0QTํͷ$*ͷҙࣝվֵ ‣ ίϯςφԽͷைྲྀʹ͏·͘Ϛονͨ͠ ‣
ܥͷ%PDLFSʹଟগۤ࿑͕͋ͬͨ ‣ $$*&ཧऀͷӡ༻ͪΖΜθϩͰͳ͍ ‣ ͍ͭαϙʔτ͋Γ͕ͱ͏͍͟͝·͢
$ZCFS"HFOUͱ$*ͷ͜Ε͔Βɹ
&OUFSQSJTFͷδϨϯϚ
&OUFSQSJTFͷδϨϯϚ ‣ &OUFSQSJTFͷ໋॓ ‣ &OUFSQSJTFͷ৽ػೳϥά͕͋Δʢૣ͘0SCT͍͍ͨͱ͔ʣɹ ‣ Τοδͷޮ͍ͨνʔϜʹͱͬͯগ͠ϞϠϞϠ͢Δ ‣ $JSDMF$*Ҏ֎ʹ͍͍ͨαʔϏεଟ͍ ‣
()&ʹରԠ͍ͯ͠Δ4BB4ͱͳΔͱબࢶ͕ڱ·Δ ‣ ରԠ͍ͯͯ͠ηΩϡϦςΟཁ݅Λຬ͔ͨ͢ɺݕূ͕ඞཁ
HJUIVCDPNͷҙࣝͷߴ·Γ
()&(JU)VCDPN ‣ ࠷ۙͷ৽ن্ཱͪ͛Ͱͦͷ͕ߴ·͖ͬͯͨ ‣ ϓϩδΣΫτʹ͋ͬͨ4BB4ΛɺࣗͨͪͷࡋྔͰܾΊΑ͏ͱ͍͏ҙࢥ ‣ ։ൃ৫ͱͯ͋͠Δ͖࢟Ͱ͋Δͱݴ͑Δ ‣ $JSDMF$*͕બΕͳ͘ͳΔཧ༝ʹͳΒͳ͍ ‣
ඪ४Խ͔ΒɺࣗతͳϦςϥγʔͷৢ
࠷ۙͷ৽نϓϩδΣΫτ ‣ $JSDMF$*(JU)VCDPNϓϩδΣΫτͰී௨ʹબΕ͍ͯΔ ‣ ωΠςΟϒ#JUSJTF͕ଟ͍ ‣ (JU0QTͷྲྀߦɺΑΓચ࿅͞Εͨ։ൃϓϩηε ‣ $JSDMF$* NFSHJGZͰ13ࣗಈϚʔδͱ͔
‣ ,VCFSOFUFTར༻ϓϩδΣΫτ ‣ UFTUJOGSBQSPX"SHP$%ͱ͍ͬͨΈ߹Θͤ
$"దࡐదॴͷจԽ DPNͱ&OUFSQSJTF ໘ڞଘ͍ͯ͘͠Ͱ͠ΐ͏
$"ͱ$JSDMF$*ͷग़ձ͍͔Βૣ ։ൃޮ͚ͩͰͳ͘ɺ ։ൃϓϩηεจԽେ͖͘ਐา
ྑ͍4BB4πʔϧʹΑͬͯ ։ൃऀͷ ࣮֬ʹං͍͖͑ͯ·͢ पΓͷʹ͖͍ͭ͢ ޭϞσϧΛͭͰଟ͘ ࡞Ζ͏ʂ ඪ४ԽطಘݖӹԽͱ දཪҰମͰ͋Δ͜ͱҙ ։ൃऀͷ։ൃϓϩηεվળ ৽ٕज़ͷҙཉΛେࣄʹ͠Α͏
&OUFSQSJTFͷδϨϯϚ ඞ͖ͣͭ·ͱ͏ $JSDMF$*+BQBOઃཱ ׆ൃͳϢʔβʔίϛϡχςΟ ڧ͍҆৺ײ
5IBOLT✋