Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
開発環境をどっかんどっかん立てる
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Konboi
March 07, 2015
Programming
660
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
510
非同期開発体制を支えるドキュメント文化 / YAPC::Hiroshima 2024
konboi
28
13k
様々な環境へコマンドラインツールを提供する上での苦労とその対策 / YAPC::Kyoto 2023
konboi
0
3.1k
煩雑な運用を Goを使って楽にする / Go Conference 2019 Spring
konboi
4
4.8k
あなたってどんな方(型)?/ kamakura.go#4
konboi
1
720
中規模チームを支える自動化とノウハウ共有の仕組み/CEDEC2017
konboi
8
9.9k
golang tokyo #6 / ゲーム開発には欠かせない?! あれをシュッと見る
konboi
1
7.9k
git-schemlexとddl-makerを使ったDB migrationの紹介 / git-schemalex and ddl-maker migration #golangtokyo
konboi
1
11k
Redisの調査についてとrmlp
konboi
5
5k
Other Decks in Programming
See All in Programming
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
380
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
150
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
720
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
3
1.4k
Spec-driven Development with AI
simas
PRO
0
2.2k
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
8.6k
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
360
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.1k
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
200
SODA - FACT BOOK(JP)
sodainc
1
40k
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
130
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
150
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.3k
ラッコキーワード サービス紹介資料
rakko
5
5.7M
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
KATA
mclloyd
PRO
35
16k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
970
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Visualization
eitanlees
153
17k
Designing for humans not robots
tammielis
254
26k
How GitHub (no longer) Works
holman
316
150k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
730
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
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Ͱ৭ʑ Ͳ͔ͬΜͲ͔ͬΜ͍ͨ͠ ΤϯδχΞΛืूதͰ͢
͝੩ௌ͋Γ͕ͱ͏͍͟͝·͢ !