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
Tmux Tips vol.02
Search
Riki Shimma
February 02, 2018
Programming
0
610
Tmux Tips vol.02
tmux and tmuxinator and more
Riki Shimma
February 02, 2018
Tweet
Share
More Decks by Riki Shimma
See All by Riki Shimma
管理画面のチラ見せから日本の決済を変える@管理画面チラ見せナイト#4
shimma
0
150
Other Decks in Programming
See All in Programming
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
740
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
CSC307 Lecture 04
javiergs
PRO
0
660
MUSUBIXとは
nahisaho
0
130
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
CSC307 Lecture 07
javiergs
PRO
0
550
CSC307 Lecture 09
javiergs
PRO
1
840
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
Featured
See All Featured
For a Future-Friendly Web
brad_frost
182
10k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
The Cult of Friendly URLs
andyhume
79
6.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Music & Morning Musume
bryan
47
7.1k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
Evolving SEO for Evolving Search Engines
ryanjones
0
130
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
Transcript
Tmux Tips vol.02 tmuxinatorߨ࠲ 2017/12/15 @shimma
ۙͷ OpsWorksܦ༝ͰσϓϩΠ͢Δͱɺrailsଆͷ unicornϓϩηε͕࠶ىಈ͞Εͣɺݹ͍ιʔε ίʔυ͕ಈ͖ଓ͚Δͷଟൃ (NOW) • masterϓϩηε͕ͬͨ··ɺworkerϓϩηε͕ͬͨ·· • API͕1/4ͷ֬Ͱҧ͏σʔλΛฦ͢ (
࠷ߴ)
ۙͷ unicornͷΈ masterϓϩηεʹUSR2γάφϧૹΒΕΔͱɺࣗΛ࠶ىಈ͠ɺ ৽͍͠masterϓϩηεΛϑΥʔΫͨ͠workerϓϩηεੜ·Ε Δ
ղܾͷํੑ • ͻͱ·ͣσϓϩΠޙͷunicornͷϓϩηε͕৽͘͠ͳ͍ͬͯΔ ͷ͔֬ೝ͢Δ • (͋ͱࠜຊతʹOpsWorks͔ΒҾӽ͠Λ͍ͨ͠)
tmuxͷग़൪
tmuxinator • tmux sessionشൃੑ͕͋Γɺ࠶ىಈ͢Δͱফ͑Δ • pane/windowΛ໊લ͚ͭͯอଘग़དྷͨΒศར͡Όͳ͍ʁͱ͍ ͏ࢥ͔Βੜ·Εͨ • ݸਓతʹඞཁੑ͍ͱࢥ͏ •
https://qiita.com/shimma/items/7429bc74c235d6af6442 • 2014͘Β͍ʹྲྀߦͨ͠ • golangͷ࣮ΛࢼΈΔऀୡ͕͍Δ͕ɺܾఆ൛ͳ͍
install gem install tmuxinator
how to use tmuxinator edit prod tmuxinator prod # ~/.tmuxinator/prod.yml
name: demo-production root: /Users/shimma/src/github.com/shimma/demo windows: - production: panes: - ssh demo01 -t "cd /srv/www/demo/current && sudo -u deploy RAILS_ENV=production bin/rails console" - sleep 2 && ssh demo02 -t "cd /srv/www/demo/current && sudo -u deploy RAILS_ENV=production bin/rails dbconsole -p"
sample # ~/.tmuxinator/anypay.yml name: anypay root: /Users/shimma/src/github.com/shimma/demo windows: - production:
panes: - ssh demo01 - ssh demo02 - ssh demo03 - ssh demo04 # ଓޙʹsynchronized panesޙʹpsίϚϯυΛୟ͘
͔͠͠
ࠓճMakefileͰे check-unicorn-process: ssh demo01 "hostname && ps aux | grep
unicorn" ssh demo02 "hostname && ps aux | grep unicorn" ssh demo03 "hostname && ps aux | grep unicorn" ssh demo04 "hostname && ps aux | grep unicorn"
݁ جຊతʹMakefileShellScriptͰྃग़དྷΔΑ͏ʹ͢Δ͠ Ͳ͏ͯ͠ΠϯλϥΫςΟϒͳॲཧ͕ඞཁͳ࣌ʹtmuxinatorΛ׆༻͢Δ͠