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
日経にCircleCIを導入してみた
Search
Natsuki Akama
July 09, 2015
Technology
15
5k
日経にCircleCIを導入してみた
「日経電子版×Sansanアプリ開発プロジェクト成功への道〜アプリ開発者勉強会Vol.3」で発表した資料です。
http://connpass.com/event/16885/
Natsuki Akama
July 09, 2015
Tweet
Share
More Decks by Natsuki Akama
See All by Natsuki Akama
エンジニアがプロダクトグロースのためにやったこと
natsuz
1
990
UI設計で最初にやること: 日経電子版アプリ開発で学んだちょっとした知見
natsuz
0
670
日経電子版アプリ内製開発の舞台裏
natsuz
72
30k
Other Decks in Technology
See All in Technology
AI Agentにおける評価指標とAgent GPA
tsho
1
280
DX Improvement at Scale
ntk1000
2
210
「ヒットする」+「近い」を同時にかなえるスマートサジェストの作り方.pdf
nakasho
0
100
Kaggleの経験が実務にどう活きているか / kaggle_findy
sansan_randd
2
360
マイグレーションガイドに書いてないRiverpod 3移行話
taiju59
0
350
Devinを導入したら予想外の人たちに好評だった
tomuro
0
840
大規模サービスにおける レガシーコードからReactへの移行
magicpod
1
110
AI Coding Agentの地殻変動 ~ ai-coding.info の定点観測 ~
kotauchisunsun
1
510
AIに視覚を与えモバイルアプリケーション開発をより円滑に行う
lycorptech_jp
PRO
1
780
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.8k
組織のSREを推進するためのPlatform EngineeringとEKS / Platform Engineering and EKS to drive SRE in your organization
chmikata
0
180
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.4k
The Pragmatic Product Professional
lauravandoore
37
7.2k
Un-Boring Meetings
codingconduct
0
220
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
240
Docker and Python
trallard
47
3.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
850
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
110
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Transcript
ܦʹ$JSDMF$*Λಋೖͯ͠Έͨ ɹຊܦࡁ৽ฉࣾɹؒՆथ
͜Μʹͪ ؒՆथ ຊܦࡁ৽ฉࣾɹσδλϧฤہ ৽ଔೖࣾ ܦిࢠ൛ΞϓϦʢJ04ʣΛ։ൃ
ຊܦࡁ৽ฉࣾ ΤϯδχΞ͍·͢ ࣾһʢਓʣʴֶੜΞϧόΠτʢਓʣʴڠྗձࣾ ։ൃ͡Ί·ͨ͠
None
ࠓ͓͢Δ͜ͱ
$JSDMF$*ͰࣗಈԽ͡Ί·ͨ͠ J04ΞϓϦ։ൃΛࣗಈԽͯ͠ɺ։ൃϓϩηεΛվળ͓ͨ͠ ςετ σϦόϦʢϕʔλ৴ʣ
ࣗಈԽͷ͖͔͚ͬ
ΞϓϦͷςετେม ෳ04όʔδϣϯɺෳσόΠε ϦϦʔε͢Δͱݩʹͤͳ͍ Ϋϥογϡ͢Δόά͕͋Δͱɺૉૣ͍ใಓ͕ࠔʹ ➔େྔͷςετέʔεΛ࣮ࢪ
None
J04ܦిࢠ൛ΞϓϦςετέʔεͷ߹ܭɹ ݅
݅✖ 04WFS✖ %FWJDF
खಈσϦόϦେม σβΠφʔɺϕʔλςελʔ ࣗͰϏϧυͰ͖ͳ͍ 9DPEFͷૢ࡞ํ๏͕Θ͔Βͳ͍ɺͦͦ8JOEPXT
खಈσϦόϦେม σβΠφʔɺϕʔλςελʔ ࣗͰϏϧυͰ͖ͳ͍ 9DPEFͷૢ࡞ํ๏͕Θ͔Βͳ͍ɺͦͦ8JOEPXT आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ ɾ
ɾ ɾ
ίϛϡχέʔγϣϯίετ ʮΞϓϦམͪΔΜ͚ͩͲʯ ʮͲ͏͍͏ૢ࡞ํ๏Ͱ͔͢ʁʯ ʮ͜͏ͬͯʜʯ ʮΞϓϦͷόʔδϣϯʁʯ ʮόʔδϣϯͬͯͲ͜Ͱ֬ೝ͢Δͷʁʯ ʮઃఆ͔Β֬ೝͰ͖·͢ʯ ʮ͋ͬ̋̋ͩʯ ʮͦͷόά͏࠷৽൛Ͱͳ͓ͬͯ·͢ʯ
ɹɹʮࣗಈԽ͠·͠ΐ͏ʯ
J04ΞϓϦ։ൃϓϩηεͷࣗಈԽ
*DPONBEFCZ'SFFQJL GSPNXXXqBUJDPODPN *DPONBEFCZ&MFHBOU5IFNFT GSPNXXXqBUJDPODPN *DPONBEFCZ'SFFQJL GSPNXXXqBUJDPODPN 2" σϦόϦ ։ൃ
*DPONBEFCZ'SFFQJL GSPNXXXqBUJDPODPN 2"
ςετͷࣗಈԽ Ϣχοτςετ &&ςετ
Ϣχοτςετॻ͍ͯͨ ,JXJ .PEFMͷΈ ΧόϨοδܭଌͯ͠ͳ͍
·ͣϢχοτςετΛࣗಈԽ
$JSDMF$*ΛͬͯࣗಈԽ ϏϧυεΫϦϓτ͕ࣗ༝ʹॻ͚Δ αϙʔτ͕ૣ͍ɺνϟοτͰ؆୯ʹ࣭Ͱ͖Δ ͍҆
(JUIVCʹ1VTIͨ͠λΠϛϯάͰςετ (JUIVCʹ1VTI͢Δຖʹ֤ϒϥϯνͰςετΛࣗಈ࣮ߦ $JSDMF$*ͰϢχοτςετΛ࣮ߦ YDPEFCVJME νϟοτ௨
YDPEFCVJME YDPVEFCVJMEͰϢχοτςετΛ࣮ߦʢYDUPPM͕σϑΥϧτʣ QPEJOTUBMMࣗಈͰ࣮ߦͯ͘͠ΕΔ
݁Ռνϟοτ௨ 4MBDLʹ௨ͯ͠ɺใΛू CPUͷΞΠίϯΛมߋͯ͠ɺϞνϕʔγϣϯΞοϓ
ςετ݁ՌΛ௨ ςετΛ࣮ߦ
ϢχοτςετͷࣗಈԽඅ༻ରޮՌ͕ߴ͍ ςετΛॻ͍͍ͯΕɺࣗಈԽָ มߋʹର͢Δෆ͕҆؆୯ʹऔΓআ͚Δ ݟ͑ΔԽ *DPONBEFCZ"OUPO4BQVUSP GSPNXXXqBUJDPODPN
&&ςετͷࣗಈԽऔΓΈத
"QQJVNΛͬͨ&&ςετ 4%,ͷΈࠐΈ͕ෆཁ طଘͷίʔυΛ͍͡ΒͣɺςετΛ࣮ߦͰ͖Δ (6*্Ͱૢ࡞ͨ͠ಈ࡞ΛίʔυͰग़ྗ
None
&&ςετͷࣗಈԽ εϞʔΫςετϨϕϧ ϑϩϯτΤϯυͷଟͷྫ֎ॲཧ ϝϯςφϯείετ ਓखʹΑΔςετඞཁ
ςετࣗಈԽʹΑΓ։ൃޮ্͕ खಈςετ͕ͳ͘ͳΔΘ͚Ͱͳ͍ ։ൃͱ2"ͷߴΠςϨʔγϣϯ ·ͱΊͯςετ͢ΔͷͰͳ͘ɺίϛοτຖʹࣗಈςετ ࣗಈςετ͕ࣦഊͨ͠ݪҼલͷίʔυมߋʹ͋Δ ➔ܽؕίʔυͷಛఆͱόάमਖ਼͕ૣ͘ࡁΉ 2"νʔϜʹ͢લʹɺ࠷ݶͷ࣭νΣοΫ
ςετΛࣗಈԽ͢Δͱɺ։ൃɾ2"ͷαΠΫϧ͕͘ͳΔ 2" *DPONBEFCZ'SFFQJL GSPNXXXqBUJDPODPN *DPONBEFCZ&MFHBOU5IFNFT GSPNXXXqBUJDPODPN *DPONBEFCZ'SFFQJL GSPNXXXqBUJDPODPN σϦόϦ ։ൃ
ςετࣗಈԽʹΑΔԸܙ 2"νʔϜָ͕Λ͢Δ ͍αΠΫϧͰϦϦʔε͕Ͱ͖Δ
*DPONBEFCZ'SFFQJL GSPNXXXqBUJDPODPN σϦόϦ
'BCSJDΛͬͯϕʔλ৴ J04ͷαϙʔτ ແྉ ΫϥογϡϨϙʔταʔϏε
NBTUFSϒϥϯνͷNFSHF୯ҐͰ ࠷৽ϕʔλ൛ΞϓϦΛৗʹμϯϩʔυՄೳʹ͢Δ $JSDMF$*ͰϢχοτςετΛ࣮ߦ J5VOFT$POOFDUͷόϦσʔγϣϯνΣοΫ ςετ௨աޙʹJ1"Λ࡞͠ɺ'BCSJDͰϕʔλ৴
ϘλϯΛԡ͚ͩ͢Ͱྃ
$JSDMF$*ͰJ1"ϑΝΠϧΛ࡞ 1SPWJTJPOJOH'JMFΛμϯϩʔυ 1SPWJTJPOJOH'JMFɺQϑΝΠϧΛΠϯϙʔτ ΞʔΧΠϒ
1SPWJTJPOJOH'JMFΛ%- OPNBE$-*ͷ$VQFSUJOPΛͬͯϏϧυຖʹ%- ➔%FWJDFΛՃͯ͠ɺ1SPWJTJPOJOHͷखಈมߋͷඞཁͳ͠
None
1SPWJTJPOJOH'JMFQΛΠϯϙʔτ
ύεϫʔυڥมͱͯ͠ઃఆ
YDBSDIJWF͔ΒɺJQBΛ࡞
J5VOFT$POOFDUͷόϦσʔγϣϯνΣοΫ "QQMJDBUJPO-PBEFSͷBMUPPMΛར༻͢Δ BMUPPMͷQBUIΛࢦఆ࣮ͯ͠ߦ
'BCSJDʹΞοϓϩʔυ
ΫϥογϡϨϙʔτΛνϟοτ௨
ςετ݁ՌΛ௨ ࣾ Ϋϥογϡ௨ όϦσʔγϣϯνΣοΫ
σϦόϦࣗಈԽͷϝϦοτ ख࡞ۀ͕શʹͳ͘ͳΔ ϝϯςφϯείετ͕͍ɺ͍ճ͕͠Ͱ͖Δ ॳظಋೖίετ͋·Γߴ͘ͳ͍ ΫϥογϡϨϙʔτʹΑΓɺ։ൃ㲗2"ͷޮ্
ࠓޙ πʔϧΛͬͯਃ·ͰࣗಈԽ ڥґଘɾଐਓੑ ϩʔΧϧͷڥ͕NBTUFSͱҧ͏ ʮ̋̋͞Μ͕ٳՋத͔ͩΒɺਃͰ͖ͳ͍ʯ
"OESPJE "OESPJEܦిࢠ൛ΞϓϦࣗಈԽʹऔΓΈ͡Ί·ͨ͠ $JSDMF$* 3PCPMFDUSJD 'BCSJD
$JSDMF$*5JQT
தͷਓͱϛʔςΟϯά͢Δػձ͕͋ͬͨ ͋Δಥવϝʔϧ͕͖ͨ
ڭ͑ͯΒͬͨ5JQT DJSDMFZNMͷ֬ೝͷͨΊɺຖճ1VTI͢Δͷ͕ຯʹ໘ 1VTI͠ͳͯ͘ɺXFC6*ͰίϚϯυ͕ࢼͤΔ 5FTUDPNNBOET ࢼͨ͠ίϚϯυޙͰফ͞ͳ͍ͱɺॲཧ͕ճΔ
None
·ͱΊ
आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ ɾ ɾ ɾ
आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ आΓͯɺ-JHIUOJOHέʔϒϧͯ͞͠ɺ9DPEFͰϏϧυ ɾ ɾ ɾ ͳ͘ͳͬͨ
ઍ݅ͷखಈςετ
ઍ݅ͷखಈςετ ݅ʹͳΒͳ͍
අ༻ରޮՌͷߴ͍ͷ͔Β͡ΊΔ ͱʹ͔ࣗ͘ಈԽ͖͢ σϦόϦɺʢςετΛॻ͍͍ͯΕʣϢχοτςετ Ͳ͜·ͰࣗಈԽ͢Δ͔ݕ౼͕ඞཁ &&ςετ
ࣗಈԽͷϝϦοτ ୯७ख࡞ۀ͔Βղ์͞ΕͯͤʹͳΕΔ ૉૣ͍։ൃ͕Ͱ͖Δ ૉૣܽؕ͘ίʔυͷಛఆͱόάमਖ਼͕Ͱ͖Δ ݟ͑ΔԽ ➔։ൃ㲗2"ͷαΠΫϧ͕͘ͳΔ
࠷ޙʹ ಋೖਓͰͰ͖Δ ·ͣϘτϜΞοϓͰউखʹಋೖͯ͠ΈΔ ಋೖΑΓӡ༻ͷํ͕େม ϢχοτςετΛॻ͖ଓ͚Δ $*ͷϝϯςφϯε
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ࠷ޙʹͪΐͬͱએ
ΤϯδχΞืूத EH@MBC!OFYOJLLFJDPKQ