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.
→
harachan
September 16, 2025
Technology
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
並列開発を支援するツールを作った話
harachan
September 16, 2025
More Decks by harachan
See All by harachan
設計の進め方と 品質特性品質特性
harakeishi
0
1.3k
golang.tokyo発表資料(whrisというコマンドを作った話)
harakeishi
0
54
Other Decks in Technology
See All in Technology
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
「大丈夫そう?」をObservabilityで確かめる
mrmtsu
0
200
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.9k
あけおめLINE 傾向とその対策
nasa9084
0
340
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
180
なぜAI任せのゲームは面白くならないのか?
hirohasuyoutube
0
190
品質と信頼性を地続きにする
grimoh
3
1.3k
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
150
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
560
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
3
21k
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
440
Featured
See All Featured
Practical Orchestrator
shlominoach
192
12k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
710
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
490
A better future with KSS
kneath
240
18k
How to Talk to Developers About Accessibility
jct
2
560
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Mobile First: as difficult as doing things right
swwweet
225
10k
The Invisible Side of Design
smashingmag
301
52k
How STYLIGHT went responsive
nonsquared
100
6.3k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
880
Statistics for Hackers
jakevdp
799
230k
Transcript
1 ฒྻ։ൃΛࢧԉ͢Δ πʔϧΛ࡞ͬͨ ϩϦϙοϓϜʔϜʔυϝΠϯࣄۀ෦ ݪ ܛ࢜
2 ࣗݾհ ϩϦϙοϓϜʔϜʔυϝΠϯࣄۀ෦ 2020 ৽ଔೖࣾ ݪ ܛ࢜ Keishi Hara •
ϗεςΟϯάαʔϏεΛ࡞ͬͯ·͢ • ઃܭͷΛ͢Δͷ͕͖Ͱ͢ • Go, Rails Λओʹ৮͍ͬͯ·͢ • GoͰcliπʔϧΛ࡞Δͷ͕͖Ͱ͢ • ࠷ۙ whris ͕100starΒ͍خ͍͠ • ϒϩά: yaserarenai.dev • X : @harachan_02206
AIΤʔδΣϯτͬͯ·͔͢ʁ 3
AIίʔσΟϯάΤʔδΣϯτศརʂʂ 4 ϝΠϯλεΫ ςετ࡞ ↓ ࣮ ↓ ςετ αϒλεΫ طଘίʔυͷௐࠪ
& υΩϡϝϯτԽ αϒλεΫ খ͞Ίͷ मਖ਼λεΫ αϒλεΫ ࣍ͷλεΫͷ༧උ ௐࠪ ˍ جຊઃܭॻͷ࡞
AIίʔσΟϯάΤʔδΣϯτศརʂʂ 5 git worktree # ϝΠϯ։ൃσΟϨΫτϦ $ cd path/hoge #
work1 ༻ͷϒϥϯνͱ࡞ۀσΟϨΫτϦΛՃ $ git worktree add ../hoge.work1 -b feature/work1 # work2 ༻ $ git worktree add ../hoge.work2 -b feature/work2 # work3 ༻ $ git worktree add ../hoge.work3 -b feature/work3 # ͦΕͧΕͷϫʔΫεϖʔε͕Ͱ͖͍ͯΔ $ ls -la ../ hoge hoge.work1 hoge.work2 hoge.work3
ฒྻ։ൃͷΓํ 6 • ϙʔτόΠϯσΟϯάͷিಥ ◦ ྫ: ෳͷAPIαʔόʔ͕ಉ͡ :8080 Λୣ͍߹͏ •
ωοτϫʔΫઃఆͷিಥ ◦ ಉ໊͡લͷωοτϫʔΫ͕࡞ΒΕࣦͯഊ͢Δ docker compose ͰෳڥΛ্ཱͪ͛Δͱ…
ฒྻ։ൃͷΓํ 7 • compose.ymlͷमਖ਼ ◦ ຖճஆ͔͍ख࡞ۀͰͷมߋ ◦ compose.ymlͷϙʔτωοτϫʔΫ෦Λڥม͔ΒಡΈࠐΉΑ͏ʹ͢Δ ▪ makeϑΝΠϧͳͲͰڥมΛࣗಈઃఆ
etc… ͔͠͠ɺcompose.ymlͷมߋ͕ࠩͰͯޡcommitͳͲͯ͠͠·͏ ղܾ๏
ͦ͜Ͱ͓͢͢Ίͳͷ͕ʂʂ 8
https://github.com/harakeishi/gopose 9
gopose is ͳʹʁ • ϙʔτিಥͷࣗಈղܾ ◦ γεςϜͰطʹ༻தͷϗετϙʔτͱɺComposeͷॏෳϙʔτΛݕग़͠ɺۭ͍͍ͯΔ ϙʔτࣗಈஔɻ • DockerωοτϫʔΫিಥͷճආ
◦ طଘDockerωοτϫʔΫͷαϒωοτωοτϫʔΫ໊ͱিಥ͢ΔComposeωοτϫʔΫ Λݕग़͠ɺ҆શͳସαϒωοτࣗಈஔɻ • ඇഁյతͳద༻ ◦ ݩͷ docker-compose.yml มߋͤͣɺࠩͷΈΛ docker-compose.override.yml ͱͯ͠ग़ྗ 10
# ϝΠϯ։ൃσΟϨΫτϦ $ cd path/hoge # ϝΠϯͷ։ൃڥΛ্ཱͪ͛ $ docker compose
up -d # αϒλεΫͷϫʔΫεϖʔεʹҠಈ $ cd ../hoge.work1 # goposeͰিಥճආͷoverride.ymlΛ࡞ $ gopose up # αϒλεΫͷ։ൃڥ্ཱͪ͛ $ docker compose up -d goposeͷ͍ํ 11
# Docker Compose Override File # Generated by gopose (Go
Port Override Solution Engine) name: hoge.work1 services: frontend: ports: !override - "8000:80" networks: hoge_net: ipv4_address: 10.20.0.16 backend: ports: !override - "8001:80" networks: hoge_net: ipv4_address: 10.20.0.12 mysql: ports: !override - "8006:3306" networks: hoge_net: ipv4_address: 10.20.0.10 networks: hoge_net: ipam: config: - subnet: "10.20.0.0/24" override.yml͜Μͳײ͡Ͱ͢ 12
• ϙʔτিಥͷࣗಈղܾ a. compose.ymlͷதΛղੳ b. netstat -an ͷ݁ՌΛղੳ c. িಥΛݕ͠ɺoverride.ymlʹॻ͖ग़͠
• DockerωοτϫʔΫিಥͷճආ a. docker network ls/inspect ͰωοτϫʔΫ໊ͱαϒωοτΛऩू b. ComposeͷωοτϫʔΫ͝ͱʹɺ࣮ࡍʹੜ͞ΕΔωοτϫʔΫ໊ʢ-p/--project-name Ͱ͘ ಄ࣙʣͱαϒωοτΛٻΊɺ໊લিಥͱαϒωοτিಥΛݕग़ c. ඞཁ͕͋Ε)ݻఆIP࠶ׂ େ·͔ͳಈ࡞༰ 13
14 Thank you!