開発環境をどっかんどっかん立てる

935fa3c3cfe0ae00d891c958864e3de1?s=47 Konboi
March 07, 2015

 開発環境をどっかんどっかん立てる

若手Webエンジニア交流会 #9 の発表資料です

935fa3c3cfe0ae00d891c958864e3de1?s=128

Konboi

March 07, 2015
Tweet

Transcript

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

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

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

  4. ࣗݾ঺հ • @Konboi • ໘ന๏ਓKAYAC • ೖࣾ 3೥໨ • ࣗࣾαʔϏε

    → डୗνʔϜ → ήʔϜ։ൃ/ӡ༻ • ޷͖ͳ΋ͷ: ! " • ೰Έ: ݁ࠗࣜͷ2࣍ձͷग़͠෺ͱ͔ͰἤΒΕΔ
  5. ࠓ೔࿩͢͜ͱ

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

  7. docker × Non Productionͷ࿩Ͱ͢

  8. ͦ͏Ͱ͢ʂ ·ͨͰ͢ʂʂ

  9. ͓෇͖߹͍Լ͍͞ !

  10. ήʔϜͷӡ༻͍ͯ͠Δͱ • stg؀ڥ͕ඞཁ • Ϛελʔσʔλௐ੔༻ͷ؀ڥ͕ඞཁ • ৽ػೳ։ൃ༻ͷ؀ڥ͕ඞཁ • ΠϕϯτQA༻ʹαʔόʔͷ࣌ؒΛਐΊͨ؀ڥ͕ඞཁ •

    ਃ੥લͷ݁߹QA؀ڥ͕ඞཁ • ͳͲͳͲ༷ʑͳ؀ڥ͕ඞཁʹͳΔ
  11. ࠓ·ͰͲ͏͔ͯͨ͠? • stg + dev01͔ΒdevXX·Ͱ༻ҙ͢Δ • IRCͷBotܦ༝Ͱ೚ҙͷbranchΛdeploy • ۭ͍͍ͯΔ؀ڥΛࣗ༝ʹ࢖͏

  12. ͚ͩͲ

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

  14. • A͞Μ < devAA ࢖ͬͯ·͔͢ʁ • B͞Μ < ͋Ŋࠓ࢖ͬͯΔ͔Β devBB

    ࢖ͬͯ΋Β͑Δʁ • C͞Μ < ࠓ devBB ࣗ෼͕࢖ͬͯΔʂ • A͞Μ < ɾɾɾ (´ɾωɾʆ)
  15. ͜ͷ··Ͱ͸...

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

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

  18. ͩΔ͍ʂʂ

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

  20. ͜Ε͸΍͹͍ʂʂʂ

  21. ΍͹͗͢Δʂ

  22. Ͳ͏΍ͬͯղܾ͔ͨ͠ʁ

  23. docker × mirage Λ࢖༻ͯ͠ղܾ΁

  24. mirageͬͯʁ

  25. mirageͱ͸ • written by golang acidlemon/mirage • REST/WebͷΠϯλϑΣʔεͰDockerίϯςφΛىಈ/ఀࢭ • αϒυϝΠϯΛࢦఆͯ͠ίϯςφ΁ͷϦόʔεϓϩΩγ

    • gitͷಛఆͷϒϥϯνͰαʔϏεΛߏ੒Մೳ • GIT_BRANCͰࢦఆͨ͠ϒϥϯν໊औಘՄೳͳͨΊ
  26. None
  27. ͪΐͬͱҙຯ͕...(^_^;)

  28. ͱ͍͏͜ͱͰ

  29. DEMO

  30. ࢖༻ํ๏

  31. go get github.com/acidlemon/mirage

  32. mirage --conf config.yml

  33. # 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"
  34. 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; } }
  35. ͲΜͳdocker image ??

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

  37. ϙΠϯτ • go get ͰΠϯετʔϧ͕Φεεϝ • ϦϦʔεύοέʔδΛ࢖͏৔߹͸leveldͷΠϯετʔϧ • dockerίϯςφ΋͋Γ·͢ •

    DB͸ผίϯςφ͔RDS౳Λར༻͢Δͷ͕Φεεϝ • ίϯςφ಺ʹ࡞Δͱ࡟আͷࡍʹDBσʔλ΋໪࿦࡟আ • rackup͸listen port ͕ localhostͳͷͰϋϚΓ·͢
  38. ·ͱΊ • docker × mirageΛ࢖ͬͯշదͳ؀ڥߏஙΛ • ίϐϖͷΑ͏ͳ.confϑΝΠϧ͕ྔ࢈͞Εͳ͍ • Rest/Webܦ༝ͰߏஙͰ͖ΔͷͰ୭Ͱ΋؀ڥߏஙՄೳʹ •

    ؀ڥΛୣ͍߹ΘͣʹࡁΈνʔϜͷงғؾ͕ྑ͘ͳΓ·ͨ͠ʂ • ͪΌΜͱνΣοΫͰ͖ΔͷͰόά̌ʂ ࠷ߴͩʂʂ
  39. ࠷ޙʹ

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

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