tmux 및 tmuxinator를 사용한 개발 워크플로
tmuxinator는 tmux를 기반으로 하므로 먼저 tmux와 기본 명령을 살펴본 다음 프로젝트 설정을 위한 yml 템플릿을 만듭니다.
Tmux 소개
Tmux는 터미널 멀티플렉서의 약자입니다.
tmux를 사용하면 한 터미널의 한 창 내에서 다른 창과 창을 만들고 이러한 창과 창 주위를 이동할 수 있습니다.
하나의 터미널 내에서 여러 프로그램 사이를 전환하고 마음대로 분리했다가 다른 터미널에 다시 연결할 수 있습니다.
Tmux 설치
sudo apt install tmux
brew install tmux
터미널을 열고 다음을 입력하여 tmux 세션을 시작하십시오.
tmux
This will open a tmux window.
Tmux 기본 명령
- Create vertical pane: Ctrl + a + %
- Create horizontal pane: Ctrl + a + “
- Switch between panes: Ctrl + a + <- ->
- Close down pane: exit or Ctrl + a + x
Tmux 창 명령
- Create new window: Ctrl + a + c
- Switch between windows:Ctrl + a + n OR Ctrl + a + p
- Switch between windows: Ctrl + a + 0 OR Ctrl + a + 1
- Rename windows: Ctrl + a + ,
- Exit Windows:
exit
Tmux 세션 명령
- Tmux 세션 보기:
tmux ls
- 새 세션 시작:
tmux new -s docker
- 세션 이름 바꾸기:
tmux rename-session -t 0 git
- 세션 분리: Ctrl + a + d
- 세션 재연결:
tmux attach -t 0
- 세션 삭제 또는 종료:
tmux kill-session -t docker
이것이 tmuxinator를 사용하는 데 필요한 모든 명령입니다.
Tmuxinator
Tmuxinator는 tmux 세션의 레이아웃을 설명하는 yaml 파일을 사용하여 tmux 세션을 쉽게 관리하고 단일 명령으로 해당 세션을 열 수 있는 도구입니다.
설치: gem install tmuxinator
Tmuxinator 명령
새 템플릿 만들기: Tmuxinator new <todo_project_name>
Edit existing template: Tmuxinator edit <project_name>
프로젝트 시작: Tmuxinator start <project_name>
We have a sample rails project as backend and react project as frontend.
Usually for development purpose we need.
- editor
- rails server
- sidekiq server
- rails console
- git for rails project
- react npm start
- git for react project
We can create a predefined template using tmuxinator.
To start creating new project template in terminal: tmuxinator new <project name>
A editor is opened with yml file for project setup.
Give name to your project
name: todo
You need to define root of the project
root: ~/Documents/react-practice/todo-api
Then you can define you different windows are shown
and commands to execute in that window.
server: bundle exec rails s -p 4001
Above will create a window name server and start the rails server in the specified root folder.
-
You can define panes in window which splits the screen
react_project:
root: ~/Documents/react-practice/todo-app
layout: even-horizontal
panes:
- npm start
- git status
Above will create a window name react_project, change root folder for this window to react app then will start react server and git in 2 horizontal equally split panes.
A sample tmuxinator file for starting rails and react server.
name: todo
root: ~/Documents/react-practice/todo-api
windows:
- editor: vim .
- server: bundle exec rails s -p 4001
- sidekiq: bundle exec sidekiq
- git: git status
- rails_console: bundle exec rails console
- react_project:
root: ~/Documents/react-practice/todo-app
layout: even-horizontal
panes:
- npm start
- git status
To start the development setup using tmuxinator in terminal.
tmuxinator start todo
Tmux session for todo app with different windows and panes.
To close the todo app tmux session.
tmuxinator stop todo
Hope this will help you.
Thank you for reading
Reference
이 문제에 관하여(tmux 및 tmuxinator를 사용한 개발 워크플로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kaushikhande/development-workflows-using-tmux-and-tmuxinator-599j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)