![]() Inside tmux, every terminal belongs to a pane, that is a rectangular area much like a tile in a windows manager. When a user starts a tmux client, it takes over his terminal and attach to the server so they can talk via a socket file in /tmp. It launches automagically when a tmux command is used and stops by itself when there is no program left to run. It runs in the backgroup, manages all the programs and keep track of their outputs. Tmux keeps all its states in one single main process called a tmux server. We went from 2-3 minutes to 10 seconds, that's a huge gain! The only thing that takes time is waiting for the VMs to be created, but since everything runs in parallel, we can already start to code in the IDE. When starting the project, everything kicks in at the same time in a matter of seconds. env | xargs) - sudo service supervisor restart - clear - docker : - j myproject - clear - docker stop myproject_mysql - docker rm myproject_mysql - docker run -name myproject_mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=true -p 3306:3306 -d mysql:5.6.35 - clear - docker psĮnter fullscreen mode Exit fullscreen mode Each is named panes : - vendor watcher : # 4th level is a list of commands to execute - j myproject-app - clear - npm run watch:vendor - customer watcher : - j myproject-app # zsh jump plugin - clear - npm run watch:customer - vagrant and docker-git : layout : even-vertical panes : - vagrant : - j MyProjectFiles - clear - workon MyProject - vagrant up # this command takes time and tmuxinator # waits before executing the next one - vagrant ssh - source /usr/local/virtualenvs/myproject374/bin/activate - cd /srv/myproject-api - export $(cat. Each element use a - # Commands can be specified inline - ide : /usr/local/pycharm-2020.1.3/bin/pycharm.sh - watchers : # 3rd level is the window options # layout option is how the panes appear in a windows layout : even-horizontal # List of panes inside a window. windows : # Second level is each window name. Name : myproject root : ~/ startup_window : vagrant and docker-git startup_pane : 1 # The first level is the list of windows. Programs can be remotely accessed by many local computers. It's ideal for SSH, PuTTy and other connections. tmux protects your remote connections if installed on a remote server. It will work with multiple programs and shells in one terminal, like a windows manager. It lets you switch between several programs inside one terminal, detach and reattach them to a different terminal at will. I thought about using some bash scripting and that's when I discovered tmux and tmuxinator. Seems not like a lot but if I do it once per day, five days a week for 50 weeks: that's ~8 hours of manual work. ![]() Spinning up the back and front end, the database and the local environments required to remember a considerable amount of commands in a precise order and takes between 2 and 3 minutes to complete. ![]() I was working on a big e-commerce project that required to have 5 terminals open, doing a certain amount of commands and let those terminal sit idle. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |