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
770
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
2
2.8k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.1k
令和時代のSaaS開発
stormcat24
1
210
Kubernetes Handson Osaka
stormcat24
5
520
Kubernetes Handson
stormcat24
5
4.1k
DockerとKubernetesでアプリケーション開発にコンテナをフル活用!
stormcat24
0
270
Base Image Journey 2018
stormcat24
29
120k
kotlin-fest
stormcat24
13
17k
Kotlin/Native
stormcat24
0
880
Other Decks in Programming
See All in Programming
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
150
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
690
Fragment Composition of GraphQL
quramy
6
910
Ruby Pattern Matching
bkuhlmann
0
930
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
180
Anthropic Cookbook のおすすめレシピ
schroneko
7
940
Site Reliability Engineering for GMO
pyama86
8
1k
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
4.1k
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.2k
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
930
Git Lint
bkuhlmann
4
750
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
350
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Building Applications with DynamoDB
mza
88
5.6k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
A Tale of Four Properties
chriscoyier
151
22k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
Embracing the Ebb and Flow
colly
80
4.1k
Being A Developer After 40
akosma
57
580k
The Cult of Friendly URLs
andyhume
74
5.7k
YesSQL, Process and Tooling at Scale
rocio
164
13k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
A better future with KSS
kneath
231
16k
The Language of Interfaces
destraynor
151
23k
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✋