Slide 1

Slide 1 text

։ൃ؀ڥΛ Ͳ͔ͬΜͲ͔ͬΜཱͯΔ @Konboi / एखWebษڧձ #9

Slide 2

Slide 2 text

ͦ͏ͩμδϟϨͩʂ͓ͬ͞Μͩʂʂ

Slide 3

Slide 3 text

͸΍͘ ! ͍ͨ͠ ·͖ΊͰ͕Μ͹Γ·͢

Slide 4

Slide 4 text

ࣗݾ঺հ • @Konboi • ໘ന๏ਓKAYAC • ೖࣾ 3೥໨ • ࣗࣾαʔϏε → डୗνʔϜ → ήʔϜ։ൃ/ӡ༻ • ޷͖ͳ΋ͷ: ! " • ೰Έ: ݁ࠗࣜͷ2࣍ձͷग़͠෺ͱ͔ͰἤΒΕΔ

Slide 5

Slide 5 text

ࠓ೔࿩͢͜ͱ

Slide 6

Slide 6 text

docker ! × mirage Λ࢖ͬͨςετ؀ڥߏஙͷ࿩

Slide 7

Slide 7 text

docker × Non Productionͷ࿩Ͱ͢

Slide 8

Slide 8 text

ͦ͏Ͱ͢ʂ ·ͨͰ͢ʂʂ

Slide 9

Slide 9 text

͓෇͖߹͍Լ͍͞ !

Slide 10

Slide 10 text

ήʔϜͷӡ༻͍ͯ͠Δͱ • stg؀ڥ͕ඞཁ • Ϛελʔσʔλௐ੔༻ͷ؀ڥ͕ඞཁ • ৽ػೳ։ൃ༻ͷ؀ڥ͕ඞཁ • ΠϕϯτQA༻ʹαʔόʔͷ࣌ؒΛਐΊͨ؀ڥ͕ඞཁ • ਃ੥લͷ݁߹QA؀ڥ͕ඞཁ • ͳͲͳͲ༷ʑͳ؀ڥ͕ඞཁʹͳΔ

Slide 11

Slide 11 text

ࠓ·ͰͲ͏͔ͯͨ͠? • stg + dev01͔ΒdevXX·Ͱ༻ҙ͢Δ • IRCͷBotܦ༝Ͱ೚ҙͷbranchΛdeploy • ۭ͍͍ͯΔ؀ڥΛࣗ༝ʹ࢖͏

Slide 12

Slide 12 text

͚ͩͲ

Slide 13

Slide 13 text

΄΅ίϐϖͷconfϑΝΠϧ͕ྔ࢈

Slide 14

Slide 14 text

• A͞Μ < devAA ࢖ͬͯ·͔͢ʁ • B͞Μ < ͋Ŋࠓ࢖ͬͯΔ͔Β devBB ࢖ͬͯ΋Β͑Δʁ • C͞Μ < ࠓ devBB ࣗ෼͕࢖ͬͯΔʂ • A͞Μ < ɾɾɾ (´ɾωɾʆ)

Slide 15

Slide 15 text

͜ͷ··Ͱ͸...

Slide 16

Slide 16 text

ςετ؀ڥͷୣ͍߹͍ʁʂ νʔϜͷงғؾ͕ѱ͘ͳΔʁʂ

Slide 17

Slide 17 text

ςετ؀ڥϚωʔδϟʔ͕ඞཁʹʁʂ

Slide 18

Slide 18 text

ͩΔ͍ʂʂ

Slide 19

Slide 19 text

ͪΌΜͱ֬ೝͤͣʹϦϦʔεʁʂ ෆ۩߹͕ग़ͯେมͳ͜ͱʹʁʂ

Slide 20

Slide 20 text

͜Ε͸΍͹͍ʂʂʂ

Slide 21

Slide 21 text

΍͹͗͢Δʂ

Slide 22

Slide 22 text

Ͳ͏΍ͬͯղܾ͔ͨ͠ʁ

Slide 23

Slide 23 text

docker × mirage Λ࢖༻ͯ͠ղܾ΁

Slide 24

Slide 24 text

mirageͬͯʁ

Slide 25

Slide 25 text

mirageͱ͸ • written by golang acidlemon/mirage • REST/WebͷΠϯλϑΣʔεͰDockerίϯςφΛىಈ/ఀࢭ • αϒυϝΠϯΛࢦఆͯ͠ίϯςφ΁ͷϦόʔεϓϩΩγ • gitͷಛఆͷϒϥϯνͰαʔϏεΛߏ੒Մೳ • GIT_BRANCͰࢦఆͨ͠ϒϥϯν໊औಘՄೳͳͨΊ

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

ͪΐͬͱҙຯ͕...(^_^;)

Slide 28

Slide 28 text

ͱ͍͏͜ͱͰ

Slide 29

Slide 29 text

DEMO

Slide 30

Slide 30 text

࢖༻ํ๏

Slide 31

Slide 31 text

go get github.com/acidlemon/mirage

Slide 32

Slide 32 text

mirage --conf config.yml

Slide 33

Slide 33 text

# config.yml host: webapi: docker.wakateweb.konboi.com reverse_proxy_suffix: .wakateweb.konboi.com listen: foreign_address: 127.0.0.1 http: - listen: 5580 target: 4567 docker: endpoint: unix:///var/run/docker.sock default_image: "wakateweb:latest"

Slide 34

Slide 34 text

nginx.conf upstream backend_docker { server 127.0.0.1:5580; } server { listen 80; server_name *.wakateweb.konboi.com; access_log /var/log/nginx/access.docker.log ltsv; error_log /var/log/nginx/error.docker.log error; location / { proxy_pass http://backend_docker; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

Slide 35

Slide 35 text

ͲΜͳdocker image ??

Slide 36

Slide 36 text

αϯϓϧ͸ͪ͜Β Konboi/docker-practice ؀ڥߏங͸itamaeΛ࢖ͬͯΈ·ͨ͠

Slide 37

Slide 37 text

ϙΠϯτ • go get ͰΠϯετʔϧ͕Φεεϝ • ϦϦʔεύοέʔδΛ࢖͏৔߹͸leveldͷΠϯετʔϧ • dockerίϯςφ΋͋Γ·͢ • DB͸ผίϯςφ͔RDS౳Λར༻͢Δͷ͕Φεεϝ • ίϯςφ಺ʹ࡞Δͱ࡟আͷࡍʹDBσʔλ΋໪࿦࡟আ • rackup͸listen port ͕ localhostͳͷͰϋϚΓ·͢

Slide 38

Slide 38 text

·ͱΊ • docker × mirageΛ࢖ͬͯշదͳ؀ڥߏஙΛ • ίϐϖͷΑ͏ͳ.confϑΝΠϧ͕ྔ࢈͞Εͳ͍ • Rest/Webܦ༝ͰߏஙͰ͖ΔͷͰ୭Ͱ΋؀ڥߏஙՄೳʹ • ؀ڥΛୣ͍߹ΘͣʹࡁΈνʔϜͷงғؾ͕ྑ͘ͳΓ·ͨ͠ʂ • ͪΌΜͱνΣοΫͰ͖ΔͷͰόά̌ʂ ࠷ߴͩʂʂ

Slide 39

Slide 39 text

࠷ޙʹ

Slide 40

Slide 40 text

KAYACͰ͸৭ʑ Ͳ͔ͬΜͲ͔ͬΜ͍ͨ͠ ΤϯδχΞΛืूதͰ͢

Slide 41

Slide 41 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·͢ !