Slide 1

Slide 1 text

5PNPIJTB0EB (.01FQBCP *OD 0DUPCFS 'VLVPLBHP ͜Ε͕(PΞϓϦͷσϓϩΠͩ

Slide 2

Slide 2 text

'VLVPLBHP (.0ϖύϘ ϓϦϯγύϧΤϯδχΞ !MJOZPXT CMPHUPNPIJTBPEBDPN

Slide 3

Slide 3 text

'VLVPLBHP দຊ྄հʹΑΔ࿦จʢ%*$0.0༧ߘʣਫ਼៛ʹ੍ޚՄೳͳ߃ৗੑͷ͋ΔߴूੵϚϧνΞΧ΢ϯτܕͷϝʔϧج൫ IUUQTSBOEQFQBCPDPNQBQFSTEJDPNPQSPDFFEJOHNBUTVNPUPSZQEG ࠷ۙͷ͓࢓ࣄ ओʹ'BTU$POUBJOFSʹΑΔϝʔϧج൫ݚڀ։ൃɺ࠷࣮ۙ૷ྫΛ(JU)VCͰެ։ IUUQTHJUIVCDPN'BTU$POUBJOFS

Slide 4

Slide 4 text

'VLVPLBHP 8%#13&44WPM )BTIJ$PSQ7BVMUͷهࣄدߘ ෱Ԭͷ(PMBOHίϛϡχςΟ 'VLVPLBHPͷओ࠵ͷਓ MJOVYϢʔβͷ໊લղܾΛ (JU)VC͔ΒϚοϐϯά͢Δ ιϑτ΢ΣΞͷ։ൃ

Slide 5

Slide 5 text

'VLVPLBHP "SFZPVEFQMPZJOH

Slide 6

Slide 6 text

'VLVPLBHP ๏ ϫϯόΠφϦͷσϓϩΠ໰୊Λղܾ͢Δ w IUUQTTQFBLFSEFDLDPNMJOZPXTTDBMBCMFEFQMPZNFOUUPPMUPEFQMPZPOZPVSPXO w !'VLVPLBHP w $BQJTUSBOPΛ(PΞϓϦͰ࢖͏ͷ͸ΦʔόʔΩϧײ͕͋ͬͯͲ͏ʹ͔͢Δͱ͍͏಺༰ ๏ εέʔϥϒϧͰσϓϩΠΛҙࣝ͠ͳ͍௒ཱࣗܕσϓϩΠ w IUUQTTQFBLFSEFDLDPNMJOZPXTSFTPMWFXFCBQQMJDBUJPOEFQMPZNFOUQSPCMFNTGPSHP w !1)1$POGFSFODF'VLVPLBલ໷ࡇ3FKFDUDPO w ͜Ε·ͰͷσϓϩΠख๏Λ౿·͑ͭͭ৽͍͠σϓϩΠख๏ͷఏҊ ࠓ೥ʹೖͬͯ৽͍͠σϓϩΠख๏ʹ͍ͭͯ౓ఔൃද

Slide 7

Slide 7 text

'VLVPLBHP ͳͥɺ͍·Ͳ͖#MVF(SFFO͡Όͳ͍ͷ͔ʁ

Slide 8

Slide 8 text

'VLVPLBHP ๏ Πϯελϯε·ͨ͸ΠϝʔδΛߏ੒͢ΔΞϓϦͱͦͷ΄͔Λ෼͚ͯσϓϩΠ͢Δ ๏ Πϯελϯε·ͨ͸ΠϝʔδΛσϓϩΠͷͨΊʹมߋ͢ΔͷͰ*NNVUBCMF *OGSBTUSVDUVSFͰ͸ͳ͍ ๏ ͨͱ͑͹ɺ#MVF(SFFOσϓϩΠͰ΋੾Γସ͑લʹ͋Β͔͡ΊΞϓϦΛߋ৽͢Δ ৔߹ͳͲ ๏ ΋ͪΖΜɺ*O1MBDFͷ৔߹΋ લఏΞϓϦͱͦͷ΄͔ΛผʹσϓϩΠ͢Δ

Slide 9

Slide 9 text

'VLVPLBHP "QQMJDBUJPO 04 .JEEMFXBSFʜ *OTUBODF

Slide 10

Slide 10 text

'VLVPLBHP ๏ फڭ্ͷཧ༝ͰΫϥ΢υ·ͨ͸ίϯςφ؀ڥΛ༻ҙͰ͖ͳ͍ ๏ ༧ࢉ͕গͳ͍ͷͰൺֱతίετΛඞཁͱ͢Δ#MVF(SFFOσϓϩΠ͕Ͱ͖ͳ͍ ๏ ϦϞʔτ͔ΒͷσϓϩΠ͸ݤͷ؅ཧ͕ඞཁʹͳΔͷͰ΍Γͨ͘ͳ͍ Α͏͢Δʹɺ͜͏͍͏ࣄ

Slide 11

Slide 11 text

'VLVPLBHP 1 #!/bin/bash 2 set -xe 3 4 readonly REMOTE_USER="linyows" 5 6 function deploy () { 7 local sshc="ssh $1 -l $REMOTE_USER" 8 scp ./api.zip $REMOTE_USER@$1:/home/$REMOTE_USER 9 10 $sshc "unzip /home/$REMOTE_USER/api.zip" 11 $sshc 'sudo mv api /usr/local/bin' 12 $sshc 'sudo chown api /usr/local/bin/api' 13 $sshc 'sudo service api restart' 14 } 15 16 deploy 'api-1.example.test' 17 deploy 'api-2.example.test' 18 deploy 'api-3.example.test' ݱ৔ͷ༷ࢠͰ͢

Slide 12

Slide 12 text

'VLVPLBHP IUUQTHJUIVCDPNMJOZPXTEFXZ

Slide 13

Slide 13 text

'VLVPLBHP .VUBCMF؀ڥͰΞϓϦ͕ೳಈతʹσϓϩΠ͢Δ

Slide 14

Slide 14 text

'VLVPLBHP 8PSL'MPX 4UBSUTFSWFS 1VTIUPSFQP %FWFMPQ #VJME5FTU .BTUFSNFSHF 3FMFBTF 1VMMSFMFBTF 3FTUBSUTFSWFS "ENJO %FW %FW $* 0XOFS %FXZ %FXZ $*

Slide 15

Slide 15 text

'VLVPLBHP %FQMPZJOH%FNP

Slide 16

Slide 16 text

'VLVPLBHP %FQMPZJOH%FNP server: 1 $ export GITHUB_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2 $ dewy server \ 3 --repository linyows/dewy-testapp \ 4 --artifact dewy-testapp_darwin_amd64.tar.gz \ 5 --port 8000 \ 6 --log-level info -- \ 7 /var/www/my-app/current/my-app client: 1 $ while sleep 0.5; do curl localhost:8000; done dev: 1 $ export GITHUB_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2 $ goreleaser --rm-dist

Slide 17

Slide 17 text

'VLVPLBHP ๏ )PPLܥͷ௥ՃλεΫSFRVJSFE ๏ 1MVHJOػߏ ๏ ϩʔϧόοΫSFRVJSFE ๏ ΧφϦʔσϓϩΠ ๏ ෼ࢄ,74ͷରԠʢ&UDENC $POTVM,7LC ࠓޙͷ՝୊

Slide 18

Slide 18 text

'VLVPLBHP ๏ γεςϜن໛͕খ͍͞ͱίϯςφ؀ڥͰͳ͍͜ͱɺ#MVF(SFFO͕Ͱ͖ͳ ͍ࣄ͸Α͋͘Δ ๏ ͦͷΑ͏ͳ؀ڥͷ΋ͱɺ(PΒ͘͠ϫϯόΠφϦΛ(JUIVCSFMFBTFTʹ1045 ͢Δ͚ͩͰউखʹσϓϩΠ͞ΕΔ ๏ ͪΐͬͱͨ͠ΞϓϦέʔγϣϯͷσϓϩΠʹͪΐ͏Ͳ͍͍σϓϩΠπʔ ϧΛ࡞Γ·ͨ͠ $PODMVTJPO

Slide 19

Slide 19 text

'VLVPLBHP 5IBOLZPV 8FSFIJSJOH