$30 off During Our Annual Pro Sale. View Details »
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
870
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
5.1k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.5k
令和時代のSaaS開発
stormcat24
1
310
Kubernetes Handson Osaka
stormcat24
5
600
Kubernetes Handson
stormcat24
5
4.4k
DockerとKubernetesでアプリケーション開発にコンテナをフル活用!
stormcat24
0
350
Base Image Journey 2018
stormcat24
29
140k
kotlin-fest
stormcat24
13
18k
Kotlin/Native
stormcat24
0
1k
Other Decks in Programming
See All in Programming
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
5
270
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
210
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
390
配送計画の均等化機能を提供する取り組みについて(⽩⾦鉱業 Meetup Vol.21@六本⽊(数理最適化編))
izu_nori
0
120
俺流レスポンシブコーディング 2025
tak_dcxi
13
7.7k
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
300
AIコーディングエージェント(Manus)
kondai24
0
120
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
570
sbt 2
xuwei_k
0
190
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1k
FluorTracer / RayTracingCamp11
kugimasa
0
180
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
180
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Become a Pro
speakerdeck
PRO
30
5.7k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
KATA
mclloyd
PRO
32
15k
A better future with KSS
kneath
240
18k
Code Review Best Practice
trishagee
73
19k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Making Projects Easy
brettharned
120
6.5k
Unsuck your backbone
ammeep
671
58k
Building an army of robots
kneath
306
46k
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✋