Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
開発環境をどっかんどっかん立てる
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Konboi
March 07, 2015
Programming
640
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
開発環境をどっかんどっかん立てる
若手Webエンジニア交流会 #9 の発表資料です
Konboi
March 07, 2015
More Decks by Konboi
See All by Konboi
Java's OOM and k8s' OOM 遭遇した2つのOOMと対策 ~ Launchableでの事例 ~ / JJUG 2025 Spring
konboi
1
410
非同期開発体制を支えるドキュメント文化 / YAPC::Hiroshima 2024
konboi
28
12k
様々な環境へコマンドラインツールを提供する上での苦労とその対策 / YAPC::Kyoto 2023
konboi
0
3k
煩雑な運用を Goを使って楽にする / Go Conference 2019 Spring
konboi
4
4.7k
あなたってどんな方(型)?/ kamakura.go#4
konboi
1
680
中規模チームを支える自動化とノウハウ共有の仕組み/CEDEC2017
konboi
8
9.9k
golang tokyo #6 / ゲーム開発には欠かせない?! あれをシュッと見る
konboi
1
7.8k
git-schemlexとddl-makerを使ったDB migrationの紹介 / git-schemalex and ddl-maker migration #golangtokyo
konboi
1
11k
Redisの調査についてとrmlp
konboi
5
4.9k
Other Decks in Programming
See All in Programming
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
190
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
160
JavaDoc 再入門
nagise
0
280
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
460
dRuby over BLE
makicamel
2
320
AIエージェントの隔離技術の徹底比較
kawayu
0
460
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
200
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
450
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
270
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
240
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
230
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
350
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
790
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
160
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
400
Designing for Timeless Needs
cassininazir
1
250
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
520
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
840
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
BBQ
matthewcrist
89
10k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
200
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
220
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Ͱ৭ʑ Ͳ͔ͬΜͲ͔ͬΜ͍ͨ͠ ΤϯδχΞΛืूதͰ͢
͝੩ௌ͋Γ͕ͱ͏͍͟͝·͢ !