Introduction
This article will be useful for those who are working on the projects combining multiple technologies. In my case the project includes Xmpp server, Rtmp server, ElasticSearch, MySQL, Ruby on Rails application, Memcached. All of this technologies are running in a separate terminal (terminal tab). So when I start my working day I should always repeat the same actions by running each of those services. To be more productive and don't spend my time by re-typing many times the same commands, I automated the creation of development environment.Concept
The key tool for such automatisation is iTerm.app
One powerful features of iTerm is profile. In our case, one profile - one server/service.
My solution consists of the following parts:1. iTerm2
2. zsh + ohMyZsh
3. iTerm Profiles
4. iTerm Window saving mechanism
Implementation
1. Open iTerm.
2. For each technology (server) we will create a specific profile:
In this screenshot I've created a profile for Rails server. Before server start I want to show the state of my git repo. |
3. Then, for newly created profile we will define some useful hot keys for server restart or trigger the rebuild, followed by restart, etc:
- regexp expression which identify the error entry for a particular service. For example, for my java based XMPP server, this regexp is simple 'ERROR'.
- Action to be taken when regexp is occurred in the tab. You have many options there. Play sound, run a cmd, show growl notification, bounce dock icon, etc.
- finally the optional parameter for the action you choose in the previous step. For example, for Growl notification it will be a text to be showed.
Now each time you need to start working on this project, you simple go to Window -> Restore Window Arrangement and voila all the project env is up and you are ready to work in less the 2 seconds.
For those lucky developers, who are using multiple computers, like iMac at the office and MacBook at home, you can reuse the iTerm config with all setups iTerm -> Preferences -> General -> Preferences -> Load preferences from a custom folder or URL. You specify your Dropbox/Google disk folder and you can restore it from another computer.
Aucun commentaire:
Enregistrer un commentaire