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
860
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.9k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.4k
令和時代のSaaS開発
stormcat24
1
280
Kubernetes Handson Osaka
stormcat24
5
580
Kubernetes Handson
stormcat24
5
4.3k
DockerとKubernetesでアプリケーション開発にコンテナをフル活用!
stormcat24
0
330
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
インターフェース設計のコツとツボ
togishima
2
710
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
800
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
3
1.9k
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
290
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
550
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
500
WindowInsetsだってテストしたい
ryunen344
1
130
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
1
530
業務自動化をJavaとSeleniumとAWS Lambdaで実現した方法
greenflagproject
1
100
Select API from Kotlin Coroutine
jmatsu
1
110
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
6
1.4k
A comprehensive view of refactoring
marabesi
0
170
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.4k
For a Future-Friendly Web
brad_frost
179
9.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Balancing Empowerment & Direction
lara
1
290
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
What's in a price? How to price your products and services
michaelherold
245
12k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
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✋