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
DeNAが歩んだデプロイ自動化への道
Search
青猫
September 24, 2014
0
2.8k
DeNAが歩んだデプロイ自動化への道
青猫
September 24, 2014
Tweet
Share
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Statistics for Hackers
jakevdp
799
220k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Gamification - CAS2011
davidbonilla
81
5.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Designing for Performance
lara
610
69k
Transcript
%F/"͕าΜͩσϓϩΠࣗಈԽͷಓ :"1$"4*"50,:0 ੨ೣ BPOFLP
ຊϓϨθϯςʔγϣϯݸਓͷߟ͑Λड़ͨͷͰ͋Γɺ גࣜձࣾσΟʔɾΤψɾΤʔͷཱํΛөͨ͠ͷ Ͱ͋Γ·ͤΜɻ
BCPVUNF ੨ೣ BPOFLP ΞϓϦέʔγϣϯΤϯδχΞ גࣜձࣾσΟʔɾΤψɾΤʔ ϓϥοτϑΥʔϜγεςϜ෦ .PCBHF1MBUGPSN։ൃʹैࣄ
! w ͳͥʮσϓϩΠͷࣗಈԽʯͳͷ͔ w .PCBHFΞʔΩςΫνϟʹ͍ͭͯ w σϓϩΠࣗಈԽಋೖͷ࣮ྫ BHFOEB
҆શֶ ҆શֶͱɺۀɺҩֶɺࣾձੜ׆ʹ͓͍ͯɺ γεςϜڭҭɺ۩ػցஔྨʹΑΔࣄނ ࡂΛى͜Γʹ͍͘Α͏ʹ͢Δɺ҆શੑΛٻɾ վળ͢ΔֶͷҰͰ͋Δɻ XJLJQFEJB
ΞΠσΞ͔ΒϓϩμΫτ·Ͱ
͘ɺ҆શʹಧ͚Δ
εϐʔυº࣭ºίετ ͷτϨʔυΦϑ
εϐʔυͱཱ࣭྆Ͱ͖ͳ͍ͷ͔ʁ ͋Δҙຯ:&4ɺ͋Δҙຯ/0ɻ
Ͳ͕͍ͬͪ Ͳ͕ͬͪ҆શ
“ࣗಈԽ” ! ਓؒͰ͋ΔҎ্ඞࣦͣഊى͜Γ͏Δ ਓؒʹͤΔᘳͳରԠࡦͱ͍͏ͷͳ͍
શͯग़ՙϓϩηεʹݱΕΔ
ѱ͍γεςϜ΄Ͳ͕ޙʹͳͬͯൃݟ͞ΕΔɻ ࠷ޙͷϓϩηεͰ͋Δग़ՙΛݟ͢͜ͱɺ ϦϦʔεαΠΫϧͦͷͷͷվળͱͳΔɻ
ϦϦʔεʹࠔ͞Λײ͡Δ͔Ͳ͏͔͕ɺ γεςϜͷ҆શੑͷࢦඪͱͳΔɻ
ϦϦʔεϓϩηεͷࣗಈԽΛ ߟ͑Εɺ γεςϜͷࣗড়࡞༻͕ಇ͘
ʊਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹಥવͷ.PCBHFΞʔΩςΫνϟɹʻ ʉ:?:?:?:?:?:?:?:?:?:?:?:?:?:?:ʉ
.PCBHFͷḷͬͨࣄۀϑΣΠζ w w ܞଳ4/4ʮϞόήʔλϯʯαʔϏε։࢝ w w ձһ͕ສਓΛಥഁ w
w ιʔγϟϧήʔϜίϯςϯπͷ৴Λ։࢝ w w ΦʔϓϯϓϥοτϑΥʔϜ w ʮϞόήʔλϯGPS4NBSUQIPOFʯαʔϏε։࢝
࠷ॳҰਓͰ։ൃɾӡ༻Λ࢝Ίͨখ͞ͳγεςϜ͕ɺ ࣄۀͷͱͱʹͦͷ··ංେԽͯ͠͠·ͬͨɻ
ϩʔϯνॳ͔Βͷ $PNQPOFOU ! ! ೝূɺܾࡁɺ4/4ػೳɺੳɺήʔϜʜ ലେͳྔͷػೳɺίϯςϯπ͕ ௨শz$POUBJOFSzʹ٧Ίࠐ·Ε͍ͯΔɻ ! ΘΕͯΔͷ͔Α͘Θ͔ΒΜݹ͘ෳࡶͳίʔυ ਖ਼͍༷͠Α͘Θ͔Βͳ͍
ςετͪΖΜ΄ͱΜͲͳ͍ ։ൃͱຊ൪ͷڥࠩ ! ϦϦʔεखॱ͕ࡶͰɺඇৗʹࠔ ։ൃεϐʔυ্͕͕Βͳ͍
͍͔ʹͯ͠ϨΨγʔ͔Β ٫͢Δ͔
.PCBHF1MBUGPSN"SDIJUFDUVSF 1SPYZ4FSWFS (BNF4FSWFS $POUBJOFS &OE 6TFS 4PDJBM"1* 4FSWFS %# *OUFSOBM"1*T
దͳαΠζͱɺ ͦΕ͚ͩͰ༏Εͨ͜ͱͰ͋Δɻ
4FSWJDF0SJFOUFE"SDIJUFDUVSF (BNF4FSWFS $POUBJOFS &OE 6TFS 4PDJBM"1*4FSWFS *OUFSOBM"1* *OUFSOBM"1*ʜ 4FSWJDF 0QFO*%$POOFDU
"VUIPSJ[BUJPO4FSWFS 4FSWJDFʜ
4FSWJDF0SJFOUFE"SDIJUFDUVSF (BNF4FSWFS $POUBJOFS &OE 6TFS 4PDJBM"1*4FSWFS *OUFSOBM"1* *OUFSOBM"1*ʜ 4FSWJDF 0QFO*%$POOFDU
"VUIPSJ[BUJPO4FSWFS 4FSWJDFʜ
খ͞ͳίϯϙʔωϯτͰ ϦϦʔεͷࣗಈԽΛߟ͑Δ
w ࣗಈԽͰ͖ΔσϓϩΠͷ݅ ൈਮ w ιʔείʔυ͕όʔδϣϯཧ͞Ε͍ͯΔ͜ͱ w $*ڥ͕ߏங͞ΕɺϢχοτςετɺड͚ೖΕςετ͕ࣗಈԽ ͞Ε͍ͯΔ͜ͱ w
σʔλϕʔεεΩʔϚ͕όʔδϣϯཧ͞Ε͍ͯΔ͜ͱ w ͍ͭͰΫϦʔϯͳಈ࡞ڥΛ࡞ΕΔ͜ͱ w ڥΛΘͳ͍؆қͳσϓϩΠεΫϦϓτͰ͋Δ͜ͱ
વɺϦϦʔε࡞ۀσϓϩΠ͚ͩͰͳ͍
σϓϩΠϝϯτύΠϓϥΠϯ ιϑτΣΞΛόʔδϣϯཧ͔ΒऔΓग़ͯ͠ɺ Ϣʔβʔͷखݩʹग़ՙ͢Δ·Ͱͷϓϩηε ։ൃ Ϣχοτ ςετ ݕূ ڥ σϓϩΠ ݕূ
ڥ ड͚ೖΕςετ w ͜ΕΒҰ࿈ͷશͯΛόʔδϣϯཧʹίϛοτ͢Δຖʹߦ͏ w ։ൃऀʹଈ࣌ϑΟʔυόοΫΛߦ͍ɺΛૣظൃݟɺରԠ͢Δɹ w ຊ൪ϦϦʔεɺ͜ͷ৴པ͞Εͨ܁Γฦ͠ͷҰͭʹա͗ͳ͍
͜͜Ͱͷ ςετͷఆٛ w ୯ମςετ w .PEVMFͷςετ w ݁߹ςετ w .PEVMFTΛ݁߹ͨ͠
$PNQPOFOUͷςετ w $PNQPOFOUTΛ݁߹ͨ͠ &OEUP&OEͷςετ w ϒϥβεϚʔτϑΥϯ࣮ػ
$*$% w $POUJOVPVT*OUFHSBUJPO w $POUJOVPVT%FMJWFSZ
։ൃ ݕূ ϦϦʔε ։ൃ ݕূ ݕূ ϦϦʔε ։ൃ ݕূ ݕূ
ϦϦʔε ։ൃ ݕূ ຊ൪ ϦϦʔε ίϛοτ୯ҐͰzϦϦʔεαΠΫϧz Λ܁Γฦ͢͜ͱ ίϛοτ ίϛοτ ίϛοτ ίϛοτ ίϛοτ ίϛοτ ൃ֮ ͙͢मਖ਼ ൃ֮ ͙͢मਖ਼ ൃ֮ ͓͓͖ͳखΓͱͳΔ
෮͞Εͨϓϩηε৴པʹΔɻ ຊ൪ϦϦʔεͦͷҰͭʹա͗ͳ͍ɻ
વɺखಈͰϜϦ
+FOLJOTΛ༻͍ͨ$*$%ڥ
w ϨϙδτϦʹಉࠝ͞ΕͨεΫϦϓτΛ +FOLJOTͷδϣϒͱͯ͠ॱʹ࣮ߦ w HJUQVTIͷݕ͔Β࢝·ͬͯɺલλεΫ ͷޭΛ࣮ߦ݅ͱͯ͠ࢦఆ w εΫϦϓτʹҾͱͯ͠Ϗϧυύϥϝʔ λͷঢ়ଶΛ͢ w
݁߹ςετίϯϙʔωϯτʹด͡ͳ͍ ͨΊɺઐ༻ϨϙδτϦͰཧ w EFQMPZεΫϦϓτߋʹࣾπʔϧ܈Λ ݺͼग़͍ͯ͠Δ lϏϧυύΠϓϥΠϯzͷߏங
w ϏϧυύΠϓϥΠϯͷ݁ՌΛ։ൃऀʹଈ࣌ϑΟʔυόοΫ w ͩΕ͕ͲΜͳίϛοτΛͨ͠ͷ͔ w ͦΕʹΑͬͯɺ୯ମςετɺσϓϩΠɺ݁߹ςετͷ݁Ռ͕Ͳ͏͔ͩͬͨ w *3$CPU͔ΒͷϏϧυ։࢝Մೳ *3$ʹΑΔϑΟʔυόοΫ
l;Θͬͱͯ͠Δz w ͩΕ͕͍·ͳʹΛͬͯΔͷ͔Θ͔Βͳ͍ w ͳʹ͕Ͳ͜ʹΞοϓ͞ΕͯΔΜ͚ͩͬ w ͲΕ͕ςετ͞ΕͯΔΜ͚ͩͬ w Ξοϓखॱʹෆඋ͕͋ͬͯ֬ೝͰ͖ͳ͍ w
ݕূ͢Δڥɺόʔδϣϯɺํ๏ɺલఏ͕ҧͬͨ ͳͲΛҰʂʂ
EFWFMPQNFOU UFTUJOH NBTUFS GFBUVSF GFBUVSF CSBODIӡ༻ ڥຖʹରԠͨ͠CSBODIʹίϛοτ͢Δ͜ͱͰɺ ࣗಈԽ͞ΕͨσϓϩΠϝϯτύΠϓϥΠϯ͕Δ
ͱʹ͔͘zQVTIzͤΑ w खݩʹஔ͔ͳ͍ w ͱʹ͔͘͜·ΊʹQVTIͯ͠ɺͲΜͲΜʮςετɾσ ϓϩΠɾ݁߹ࢼݧʯͷαΠΫϧΛճ͠ɺϓϩηεͷ৴ པੑΛߴΊ͍ͯ͘ w ݕূڥͰ͕ى͜ΔͳΒɺͦΕຊ൪Ͱ͍ͣ Εىͬͨ͜͜ͱɻͦΕͳΒૣ͘ൃݟͰ͖ͨํ͕ྑ͍ɻ
None
ӡ༻Λ࢝Ίͨॴײ w ։ൃ͕໌Β͔ʹָ w $*͚ͩͬͯͨࠒΑΓߋʹ w खΓ͕ݮͬͨ w ใڞ༗ָ͕ w
ϦϦʔεͷ৺ཧతোนͷܰݮ w σβΠφʔ͞Μ͚ͩͰϦϦʔεͰ͖ΔΑ͏ʹͳΓӡ༻ޮΞο ϓ ͳͲͳͲɺ͍͍͜ͱͣ͘Ίʂʂ
͜ΕΛܗͱͯ͠૿͍͖͍ͯͨ͠
θϩσϓϩΠ ϓϩδΣΫτ։࢝࣌Ͱɺ σϓϩΠ͢Δͷ͕ͳͯ͘ ·ͣࣗಈԽ͞ΕͨσϓϩΠϝϯτ ύΠϓϥΠϯΛ༻ҙ͢Δɻ
δϣϒٴͼϏϧυύΠϓϥΠϯͷߏஙΛ ҰൃεΫϦϓτԽ͠ɺ͔ΜͨΜಋೖ w ϨϙδτϦΛ࡞ͨ͠ஈ֊ͰɺίϚϯυ Λୟ͚ҰൃͰߏஙͰ͖ΔΑ͏ʹ w +FOLJOTͷ"1*Λར༻ w ෳ৽نίϯϙʔωϯτʹରͯ͠ɺҰؾ ʹಋೖͨ͠
w &OEUP&OEͷςετέʔεʹΑ͕͔͔ͬͯ࣌ؒΓ͗ͯ͢ݱ࣮తͰͳ ͍έʔε w ཏੑવᘳͰͳ͍ w ίϯϙʔωϯτ 4FSWJDF"1* ؒͷґଘ w
ؒҾ͖ ʋТA w ฒྻԽɺߴԽ w ਓؒͰ͔֬͠ೝͰ͖ͳ͍͜ͱΓવ͋Δ w ΘΓͱటष͘ΫϦΞ͠ͳ͕Βஈ֊తʹຊ൪ೖ w ςετίʔυࣗಈԽγεςϜͷอकʹ͕͔͔Γ͗ͯ͢ຊస ·ͩ·ͩ՝
·ͱΊ w σϓϩΠͷࣗಈԽͦ͜ɺ݈શͳ։ൃϓϩηεͷΰʔϧ ઃఆͱͯ͠༏Εͨͷ w ઌͣᯂΑΓ࢝ΊΑ w ಋೖͷෑډΛԼ͛Α w ։ൃޮɾ্࣭ʹରͯ͠ଈޮՌ͋Γ
w ݕূڥ͚ͩͰɺ݁߹ςετ͕ͳͯ͘Ε͍͍
σ ϓ ϩ Π ࣗ ಈ Խ ͷ ಓ