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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
Groovy as a human and AI friendly programming language
paulk
0
180
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
360
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
360
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
280
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
220
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
180
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
380
SODA - FACT BOOK(JP)
sodainc
1
40k
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.7k
Distance field of Julia set
kinakomoti321
0
150
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
410
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
310
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
We Are The Robots
honzajavorek
0
430
Speed Design
sergeychernyshev
33
2.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
How to make the Groovebox
asonas
2
2.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
450
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Code Reviewing Like a Champion
maltzj
529
40k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
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Ͱ৭ʑ Ͳ͔ͬΜͲ͔ͬΜ͍ͨ͠ ΤϯδχΞΛืूதͰ͢
͝੩ௌ͋Γ͕ͱ͏͍͟͝·͢ !