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
970
UI設計で最初にやること: 日経電子版アプリ開発で学んだちょっとした知見
natsuz
0
660
日経電子版アプリ内製開発の舞台裏
natsuz
72
30k
Other Decks in Technology
See All in Technology
多様な最適化サービス開発をスケールさせる共通基盤とチーム構成
algoartis
0
100
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
22k
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか / A Team's Second Try at Scrum with an Agile Coach
kaonavi
0
270
SOC2は、取った瞬間よりその後が面白い
3flower
0
120
AWS Network Firewall Proxyで脱Squid運用⁈
nnydtmg
1
120
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
1.6k
SwiftDataを覗き見る
akidon0000
0
290
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
510
習慣とAIと環境 — 技術探求を続ける3つの鍵
azukiazusa1
2
680
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
困ったCSVファイルの話
mottyzzz
0
330
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
GraphQLとの向き合い方2022年版
quramy
50
14k
What's in a price? How to price your products and services
michaelherold
246
13k
Music & Morning Musume
bryan
46
7k
Faster Mobile Websites
deanohume
310
31k
Amusing Abliteration
ianozsvald
0
87
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
140
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
91
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
290
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Why Our Code Smells
bkeepers
PRO
340
58k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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