Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
開発環境をどっかんどっかん立てる
Konboi
March 07, 2015
Programming
0
500
開発環境をどっかんどっかん立てる
若手Webエンジニア交流会 #9 の発表資料です
Konboi
March 07, 2015
Tweet
Share
More Decks by Konboi
See All by Konboi
konboi
5
2.9k
konboi
1
170
konboi
8
8.4k
konboi
1
5.6k
konboi
1
8k
konboi
5
3.3k
konboi
0
3k
Other Decks in Programming
See All in Programming
ajstarks
2
750
tooppoo
1
440
ickx
3
600
yasuakiomokawa
0
470
minecr
0
110
samjulien
0
130
yusuke57
0
120
ykpythemind
0
140
yattom
30
10k
manfredsteyer
PRO
0
280
joytomo
1
520
orgachem
1
210
Featured
See All Featured
cromwellryan
104
6.3k
geeforr
333
29k
chriscoyier
683
180k
lara
16
2.9k
rasmusluckow
318
18k
stephaniewalter
262
11k
chrislema
173
14k
eileencodes
114
25k
malarkey
193
8.7k
reverentgeek
167
7.3k
bryan
99
11k
vanstee
117
4.9k
Transcript
։ൃڥΛ Ͳ͔ͬΜͲ͔ͬΜཱͯΔ @Konboi / एखWebษڧձ #9
ͦ͏ͩμδϟϨͩʂ͓ͬ͞Μͩʂʂ
͘ ! ͍ͨ͠ ·͖ΊͰ͕ΜΓ·͢
ࣗݾհ • @Konboi • ໘ന๏ਓKAYAC • ೖࣾ 3 • ࣗࣾαʔϏε
→ डୗνʔϜ → ήʔϜ։ൃ/ӡ༻ • ͖ͳͷ: ! " • Έ: ݁ࠗࣜͷ2࣍ձͷग़͠ͱ͔ͰἤΒΕΔ
ࠓ͢͜ͱ
docker ! × mirage Λͬͨςετڥߏஙͷ
docker × Non ProductionͷͰ͢
ͦ͏Ͱ͢ʂ ·ͨͰ͢ʂʂ
͓͖߹͍Լ͍͞ !
ήʔϜͷӡ༻͍ͯ͠Δͱ • stgڥ͕ඞཁ • Ϛελʔσʔλௐ༻ͷڥ͕ඞཁ • ৽ػೳ։ൃ༻ͷڥ͕ඞཁ • ΠϕϯτQA༻ʹαʔόʔͷ࣌ؒΛਐΊͨڥ͕ඞཁ •
ਃલͷ݁߹QAڥ͕ඞཁ • ͳͲͳͲ༷ʑͳڥ͕ඞཁʹͳΔ
ࠓ·ͰͲ͏͔ͯͨ͠? • stg + dev01͔ΒdevXX·Ͱ༻ҙ͢Δ • IRCͷBotܦ༝ͰҙͷbranchΛdeploy • ۭ͍͍ͯΔڥΛࣗ༝ʹ͏
͚ͩͲ
΄΅ίϐϖͷconfϑΝΠϧ͕ྔ࢈
• A͞Μ < devAA ͬͯ·͔͢ʁ • B͞Μ < ͋ŊࠓͬͯΔ͔Β devBB
ͬͯΒ͑Δʁ • C͞Μ < ࠓ devBB ͕ࣗͬͯΔʂ • A͞Μ < ɾɾɾ (´ɾωɾʆ)
͜ͷ··Ͱ...
ςετڥͷୣ͍߹͍ʁʂ νʔϜͷงғؾ͕ѱ͘ͳΔʁʂ
ςετڥϚωʔδϟʔ͕ඞཁʹʁʂ
ͩΔ͍ʂʂ
ͪΌΜͱ֬ೝͤͣʹϦϦʔεʁʂ ෆ۩߹͕ग़ͯେมͳ͜ͱʹʁʂ
͜Ε͍ʂʂʂ
͗͢Δʂ
Ͳ͏ͬͯղܾ͔ͨ͠ʁ
docker × mirage Λ༻ͯ͠ղܾ
mirageͬͯʁ
mirageͱ • written by golang acidlemon/mirage • REST/WebͷΠϯλϑΣʔεͰDockerίϯςφΛىಈ/ఀࢭ • αϒυϝΠϯΛࢦఆͯ͠ίϯςφͷϦόʔεϓϩΩγ
• gitͷಛఆͷϒϥϯνͰαʔϏεΛߏՄೳ • GIT_BRANCͰࢦఆͨ͠ϒϥϯν໊औಘՄೳͳͨΊ
None
ͪΐͬͱҙຯ͕...(^_^;)
ͱ͍͏͜ͱͰ
DEMO
༻ํ๏
go get github.com/acidlemon/mirage
mirage --conf config.yml
# 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"
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; } }
ͲΜͳdocker image ??
αϯϓϧͪ͜Β Konboi/docker-practice ڥߏஙitamaeΛͬͯΈ·ͨ͠
ϙΠϯτ • go get ͰΠϯετʔϧ͕Φεεϝ • ϦϦʔεύοέʔδΛ͏߹leveldͷΠϯετʔϧ • dockerίϯςφ͋Γ·͢ •
DBผίϯςφ͔RDSΛར༻͢Δͷ͕Φεεϝ • ίϯςφʹ࡞ΔͱআͷࡍʹDBσʔλআ • rackuplisten port ͕ localhostͳͷͰϋϚΓ·͢
·ͱΊ • docker × mirageΛͬͯշదͳڥߏஙΛ • ίϐϖͷΑ͏ͳ.confϑΝΠϧ͕ྔ࢈͞Εͳ͍ • Rest/Webܦ༝ͰߏஙͰ͖ΔͷͰ୭ͰڥߏஙՄೳʹ •
ڥΛୣ͍߹ΘͣʹࡁΈνʔϜͷงғؾ͕ྑ͘ͳΓ·ͨ͠ʂ • ͪΌΜͱνΣοΫͰ͖ΔͷͰόά̌ʂ ࠷ߴͩʂʂ
࠷ޙʹ
KAYACͰ৭ʑ Ͳ͔ͬΜͲ͔ͬΜ͍ͨ͠ ΤϯδχΞΛืूதͰ͢
͝੩ௌ͋Γ͕ͱ͏͍͟͝·͢ !