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
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
5k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.4k
令和時代のSaaS開発
stormcat24
1
290
Kubernetes Handson Osaka
stormcat24
5
590
Kubernetes Handson
stormcat24
5
4.4k
DockerとKubernetesでアプリケーション開発にコンテナをフル活用!
stormcat24
0
340
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
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
320
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
310
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
rage against annotate_predecessor
junk0612
0
170
OSS開発者という働き方
andpad
5
1.7k
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
160
AWS発のAIエディタKiroを使ってみた
iriikeita
1
190
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
240
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
470
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
10
4.2k
速いWebフレームワークを作る
yusukebe
5
1.7k
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Scaling GitHub
holman
463
140k
Building Adaptive Systems
keathley
43
2.7k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Done Done
chrislema
185
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
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✋