Slide 1

Slide 1 text

༻ޠΛ֮͑Α͏ฤ 3BJMTΞϓϦͷ։ൃ޻ఔͰઆ໌͢ΔΑʂ ۽Ͱ΋Θ͔Δ$*$%ϞμϯΠϯϑϥ

Slide 2

Slide 2 text

զ ΤϯδχΞྺɿ೥͘Β͍ ۀքɿ8FC͹͔ͬ ݴޠɿ3VCZͱ3BJMT೥ 1)11ZUIPO1FSM೥͘Β͍ʢ๨Ε͕ͪʣ Πϯϑϥ΍͖ͬͯͨྺʹΤϯδχΞྺ %/4αʔόͱ͔ϝʔϧαʔό࡞ͬͯ·ͨ͠ ࠷ۙ͸΋ͬͺΒ3BJMT࢖͍ͷϑϦʔϥϯεɻ ޷͖ͳ%/4αʔόͷϛυϧ΢ΣΞɿEKCEOT ޷͖ͳϝʔϧαʔόͷϛυϧ΢ΣΞɿ2NBJM ޷͖ͳ.Z42-ͷίϚϯυ͸TIPXTMBWFTUBUVT ޷͖ͳ"84ϓϩμΫτ͸&MBTUJD.BQ3FEVDF ޷͖ͳ($1ϓϩμΫτ͸$MPVESVO ޷͖ͳ$*$%πʔϧ͸(JUIVC"DUJPO &$4׬ᘳʹཧղͨ͠ কདྷͷເ͸ηΩϡϦςΟΤϯδχΞɻ

Slide 3

Slide 3 text

$JSDMF$*͸͍͍ͧʂʂʂʂ

Slide 4

Slide 4 text

΍͍͖ͬͯ

Slide 5

Slide 5 text

ίί rails new ίʔυ͍ͬͺ͍͔͘ ϩʔΧϧͰ׬੒ʂ ʁ આ໌͢Δͱ͜Ζ ੨͍ͱ͜Ζ͕આ໌͠ͳ͍ͱ͜Ζ

Slide 6

Slide 6 text

ܧଓతΠϯςάϨʔγϣϯ ΦϨϯδ৭ͷՕॴͷߏ੒ཁૉ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ લͷϖʔδͷΦϨϯδ৭Λࡉ෼Խ ܧଓతσϓϩΠϝϯτ

Slide 7

Slide 7 text

ΦϨϯδ৭ͷՕॴͷҙຯ Continuous IntegrationʢܧଓతΠϯςάϨʔγϣϯʣ Continuous DeliveryʢܧଓతσϦόϦʔʣ ৘ใγεςϜΛߏ੒͢ΔαʔόͳͲͷػثɺιϑτ΢ΣΞɺ௨৴ωοτϫʔΫ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ ܧଓతσϓϩΠϝϯτ Continuous DeploymentʢܧଓతσϓϩΠʣ

Slide 8

Slide 8 text

ϞμϯΠϯϑϥΛ࿩্͢Ͱߟ͑Δ$ͳΜͱ͔ܥ CͳΜͱ͔ܥͷจ຺ΛҰॹʹ࿩͞ͳ͍ͱϞμϯΠϯϑϥ͸੒Γཱͨͳ͍ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ ܧଓతσϓϩΠϝϯτ

Slide 9

Slide 9 text

ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ ܧଓతσϓϩΠϝϯτ

Slide 10

Slide 10 text

ΞδϟΠϧ։ൃʹ͍ͭͯ $*$%$%ͷઆ໌Λ͢Δલʹ ·ͣ஌Βͳ͍ͱ͍͚ͳ͍֓೦ʹ͍ͭͯ

Slide 11

Slide 11 text

ػೳΛ෼ׂ ΞδϟΠϧ։ൃͱ͸ ։ൃ ػೳΛখ͘͞෼ׂͯ͠ɺখ͍͞୯ҐͰ։ൃɾςετɾϦϦʔεΛ͍ͯ͘͠ख๏ εΫϥϜ։ൃͱಉٛͰ͸͋Γ·ͤΜʢҰॹʹઆ໌͞Ε΍͍͚͢Ͳʣ ςετ ϦϦʔε ։ൃ ςετ ϦϦʔε ։ൃ ςετ ϦϦʔε ػೳ1 ػೳ2 ػೳ3 ։ൃ։࢝

Slide 12

Slide 12 text

ΞδϟΠϧ։ൃͷϝϦοτͱσϝϦοτ ͜ͷลେࣄ ཁٻมߋʹରԠ͠΍͍͢ ཁٻͷ௥ՃʹରԠ͠΍͍͢ มԽͷॊೈͳରԠ͕͠΍͍͢ ߴ଎ͳϦϦʔε͕͠΍͍͢ શମͷεέδϡʔϧ͕؅ཧͮ͠Β͍ ਐḿ͕؅ཧͮ͠Β͍ ϝϦοτ σϝϦοτ

Slide 13

Slide 13 text

ΞδϟΠϧ։ൃͷσϝϦοτΛղܾ͍ͨ͠ ཁٻมߋʹରԠ͠΍͍͢ ཁٻͷ௥ՃʹରԠ͠΍͍͢ มԽͷॊೈͳରԠ͕͠΍͍͢ ߴ଎ͳϦϦʔε͕͠΍͍͢ શମͷεέδϡʔϧ͕؅ཧͮ͠Β͍ ਐḿ͕؅ཧͮ͠Β͍ ϝϦοτ σϝϦοτ

Slide 14

Slide 14 text

ΞδϟΠϧ։ൃͷσϝϦοτղܾख๏ ܧଓతYYYYYY

Slide 15

Slide 15 text

$ͳΜͱ͔ܥϫʔυ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ܧଓతσϓϩΠϝϯτ 1SPEVDUJPO؀ڥ ։ൃऀͷϩʔΧϧ

Slide 16

Slide 16 text

$ͳΜͱ͔ܥϫʔυ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ܧଓతσϓϩΠϝϯτ 1SPEVDUJPO؀ڥ ։ൃऀͷϩʔΧϧ QSPEVDUJPOʹࢸΔ·ͰΛࣗಈԽ͢Δ޻ఔ͕ଟ͍ ҙຯ͸શ෦جຊಉ͡

Slide 17

Slide 17 text

ྫ͑ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ܧଓతσϓϩΠϝϯτ ҙຯ͸શ෦جຊಉ͡ ڇͷؙম͖ αʔϩΠϯεςʔΩͱλϯγνϡʔ ڇλϯম೑ఆ৯͝൧ൈ͖ 1SPEVDUJPO؀ڥ ։ൃऀͷϩʔΧϧ

Slide 18

Slide 18 text

ϩʔΧϧ͔Β1SPEVDUJPOʹࢸΔ·Ͱʹ΍Δ͜ͱ 1SPEVDUJPO؀ڥ ։ൃऀͷϩʔΧϧ

Slide 19

Slide 19 text

ܧଓతYYYͷࣔ͢ൣғ 1SPEVDUJPO؀ڥ ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ܧଓతσϓϩΠϝϯτ

Slide 20

Slide 20 text

$*$%Λཧղ্ͨ͠Ͱઆ໌͢Δ 1SPEVDUJPO؀ڥ

Slide 21

Slide 21 text

ͻͱੲલͷΠϯϑϥͱݺ͹ΕΔ΋ͷجຊܥ "NB[PO&$ "QQMJDBUJPO-PBE#BMBODFS 3%4.Z42- 71$ "QQMJDBUJPO-PBE#BMBODFS "NB[PO&$ 3%4 71$ ϩʔυόϥϯαʔɻ ΞΫηεΛෳ਺ͷαʔόʹৼΓ෼͚Δɻ )7.ʢϋʔυ΢ΣΞԾ૝ϚγϯʣํࣜͰԾ૝Խ͞Εͨ-JOVYΠϯελϯεɻ ׬શԾ૝ԽΛࠓ͸ਪ঑͍ͯ͠Δɻ ࠓ͸४Ծ૝ԽͱΦʔόʔϔουͦΜͳมΘΒͳ͍Β͍͠ɻ "84͕ఏڙ͍ͯ͠Δ.Z42-΍1PTUHSF42-ͷ4BB4ɻ 7JSUVBM1SJWBUF$MPVEɻ࿦ཧతʹ෼཭͞Ε͍ͯΔԾ૝ωοτϫʔΫɻ

Slide 22

Slide 22 text

ׂͱࠓ࣌ͳΠϯϑϥͱݺ͹ΕΔ΋ͷɿجຊฤ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ "QQMJDBUJPO-PBE#BMBODFS "NB[PO&$4 3%4"VSPSB 71$ ϩʔυόϥϯαʔɻ ΞΫηεΛෳ਺ͷίϯςφʹৼΓ෼͚Δɻ %PDLFSίϯςφ࣮ߦ؀ڥɻ "84͕ఏڙ͍ͯ͠Δ3%#ͷ4BB4ɻ ޓ׵ੑ͕͋Δ͚ͩͰɺ.Z42-΍1PTUHSF42-ͱ͸શ͘ͷผ෺ɻ 7JSUVBM1SJWBUF$MPVEɻ࿦ཧతʹ෼཭͞Ε͍ͯΔԾ૝ωοτϫʔΫɻ ·ͣ͸جຊܥ͔Β

Slide 23

Slide 23 text

ׂͱࠓ࣌ͳΠϯϑϥͱݺ͹ΕΔ΋ͷɿϑϩϯτ෼཭൛ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ "84"NQMJGZ ϑϩϯτΤϯυͷߏஙʙϗετ·ͰΛ໘౗ݟͯ͘ΕΔπʔϧͱػೳͷ૯শɻ ػೳͷҰͭʹϑϩϯτΤϯυͷϗεςΟϯάΛߦͬͯ͘ΕΔɻ ϑϩϯτΤϯυͱόοΫΤϯυΛ෼཭͠·͢ɻ "84"NQMJGZ ϑϩϯτΤϯυ όοΫΤϯυ ֎෦͔ΒͷΞΫηε

Slide 24

Slide 24 text

ׂͱࠓ࣌ͳΠϯϑϥͱݺ͹ΕΔ΋ͷɿϑϩϯτ෼཭൛ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ "NB[PO$MPVE'SPOU "84ࣗલͷ$%/ɻ ஋ஈʹԠͯ͡"LBNBJͱ͔ʹͳΔ͜ͱ΋͋Δ $%/ΛڬΜͰ4ͱ͍͏ํ๏Λ࢖͍·͢ɻ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ ֎෦͔ΒͷΞΫηε "NB[PO4 "NB[PO4 ੩తϑΝΠϧΛϗεςΟϯά͢Δͷʹ࢖ΘΕΔετʔϨδαʔϏεɻ ଱ٱੑ͸Ͱམͪͳ͍ͷͰɺΠϨϒϯφΠϯͱ͔ݺ͹ΕΔ

Slide 25

Slide 25 text

ׂͱࠓ࣌ͳΠϯϑϥͱݺ͹ΕΔ΋ͷɿϑϩϯτ෼཭൛ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ 7FSDFM ϑϩϯτΤϯυͷϗεςΟϯάઐ໳ϓϥοτϑΥʔϜɻ 3FBDU7VFOVYUOFYUͱ͔΋ରԠ͍ͯ͠Δɻ ϑϩϯτΤϯυͷϗεςΟϯάͰ"84Λ࢖Θͳ͍ख΋͋Γ·͢ɻ ϑϩϯτΤϯυ όοΫΤϯυ ֎෦͔ΒͷΞΫηε

Slide 26

Slide 26 text

ׂͱࠓ࣌ͳΠϯϑϥͱݺ͹ΕΔ΋ͷɿϑϩϯτ͚ͩ൛ 'JSFCBTF3FBMUJNF%BUBCBTF (PPHMFͷ($1͕༻ҙ͍ͯ͠Δ'JSFCBTFʹ͋Δσʔλϕʔεɻ ϑϩϯτΤϯυͷػೳʹΑͬͯ͸"84Λ࢖Θͳ͍ख΋͋Γ·͢ɻ ϑϩϯτΤϯυ ֎෦͔ΒͷΞΫηε $MPVE'JSFTUPSF 3FBMUJNF%BUBCBTF 'JSFCBTF$MPVE%UBCBTF ࠓճ͸આ໌͠·ͤΜ

Slide 27

Slide 27 text

ׂͱࠓ࣌ͳΠϯϑϥͱݺ͹ΕΔ΋ͷɿϑϩϯτ͚ͩ൛ FUIFSFVN ϒϩοΫνΣʔϯͷϓϥοτϑΥʔϜͷҰͭɻ εϚʔτίϯτϥΫτͰॲཧΛ͔͚ΔͷͰɺόοΫΤϯυͱͯ͠΋࢖͑Δɻ εϚʔτίϯτϥΫτΛόοΫΤϯυͱͯ͠࡞ΔΞϓϦΛ%BQQTͱ͍͏ɻ ϒϩοΫνΣʔϯΛόοΫΤϯυͱͯ͠ѻ͏ͱ͜Μͳߏ੒ʹͳͬͨΓ͠·͢ɻ ϑϩϯτΤϯυ ֎෦͔ΒͷΞΫηε ࠓճ͸આ໌͠·ͤΜ

Slide 28

Slide 28 text

$*$%ͱΠϯϑϥΛཧղ্ͨ͠Ͱઆ໌͢Δ σϓϩΠ όοΫΤϯυʹݶఆ͢ΔΑ

Slide 29

Slide 29 text

ιʔείʔυͷద༻ͷྲྀΕ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB ϩʔΧϧ͔Βຊ൪·Ͱͷ͓͞Β͍ɻ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ (JUIVC"DUJPO /FUXPSL $%/ ωοτϫʔΫ ετϨʔδ ϩʔυόϥϯαʔ ίϯςφ 3%#

Slide 30

Slide 30 text

ιʔείʔυͷద༻ͷྲྀΕ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB ࣮ࡍʹ΍Δ͜ͱ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ CVOEMFJOTUBMM SBJMTECDSFBUF SBJMTECNJHSBUF CVOEMFFYFDSTQFD CVOEMFFYFDCSBLFNBO CVOEMFFYFDSVCPDPQ EPDLFSCVJME EPDLFSUBH EPDLFSQVTI DELEFQMPZ

Slide 31

Slide 31 text

ιʔείʔυͷద༻ͷྲྀΕ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB ʮܧଓతσϓϩΠϑΣʔζʯ͕ϙΠϯτ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ

Slide 32

Slide 32 text

σϓϩΠͷจ຺ ඍົʹݴͬͯΔ͜ͱ͕ҧ͏ ։ൃऀͷ͍͏σϓϩΠ "84ͷυΩϡϝϯτͷ͍͏σϓϩΠ खݩͷιʔείʔυΛຊ൪ʹద༻͢Δɻ %PDLFSJNBHFͱͯ͠׬੒͞Εͨ΋ͷΛίϯςφͱͯ͠ىಈຊ൪ͷ&$4ʹϦϦʔε͢Δɻ

Slide 33

Slide 33 text

σϓϩΠͷจ຺ ඍົʹݴͬͯΔ͜ͱ͕ҧ͏ ίϯςφΠϝʔδ͕͋Δલఏͷ σϓϩΠͱ͍͏จ຺ͳͷͰ ͜ͷลΘ͔ΒΜͱࠞཚ͢Δ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 σϓϩΠ ʁ

Slide 34

Slide 34 text

$*$%ͱΠϯϑϥͱσϓϩΠͷҙຯΛ౿·্͑ͨͰ %PDLFS*NBHF

Slide 35

Slide 35 text

%PDLFS*NBHFपΓͷ࿩ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB σϓϩΠ४උͷ࿩ɻ ܧଓతσϦόϦʔʹ͋ͨΓ·͢ɻ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ

Slide 36

Slide 36 text

%PDLFS*NBHFपΓͷ࿩ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB Πϝʔδ࡞੒ΛσϓϩΠ४උͷϑΣʔζͰ΍Γ·͢ɻ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ EPDLFSCVJME EPDLFSUBH EPDLFSQVTI

Slide 37

Slide 37 text

%PDLFS*NBHFपΓͷ࿩ Πϝʔδ࡞੒ޙίϯςφΛ؅ཧ͢Δ3FQPTJUPSZʹQVTI͠·͢ɻ ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ EPDLFSCVJME EPDLFSUBH EPDLFSQVTI 1SPEVDUJPO؀ڥ %PDLFS3FQPTJUPSZ

Slide 38

Slide 38 text

ͦͯ͠"84ͷσϓϩΠͷจ຺΁ ඍົʹݴͬͯΔ͜ͱ͕ҧ͏ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 σϓϩΠ %PDLFS3FQPTJUPSZ QVTI͞ΕͨΠϝʔδΛ࢖ͬͯ ίϯςφΛ&$4ʹσϓϩΠ͢Δ

Slide 39

Slide 39 text

"84ͷσϓϩΠ͸Ͳ͏͢Δͷ͔ ͔͜͜Βઌ͸ผͷճͰ΍Γ·͢ɻ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 σϓϩΠ %PDLFS3FQPTJUPSZ

Slide 40

Slide 40 text

·ͱΊ ܧଓతYYY͸ܧଓతΠϯςάϨʔγϣϯɾσϦόϦʔɾσϓϩΠ͕͋Δ ΞδϟΠϧ։ൃͱεΫϥϜ։ൃ͸ผ΋ͷ ܧଓతYYY͸ΞδϟΠϧ։ൃͷܽ఺ΛຒΊΔͨΊʹ͋Δղܾ๏ Πϯϑϥߏ੒ཁૉͱͯ͠"84ϓϩμΫτ͸཈͓͑ͯ͜͏ ։ൃऀͷσϓϩΠͱ"84υΩϡϝϯτͷσϓϩΠ͸গ͠χϡΞϯε͕ҧ͏