This automated setup creates a tmux environment suitable for developing SUSE Manager (or spacewalk). Upon launching, you will be prompted with a tmux session that comprises:
- A sumaform configuration editor and prompt to provision it
- A Java remote deployment (press Enter to deploy)
- A front-end static-resources automated deployer (with
gulp
andlsyncd
) - A JUnit test runner (press Enter to launch tests) with configuration editor
- A Checkstyle runner (press Enter to checkstyle)
- A tig client to access SCM
- A SSH window inside the development server with a split window
tail
ed on logs
- sumaform
- SUSE Manager or spacewalk sources
- ruby
- tmux
- lsyncd
- nodejs
- tig
- tmuxinator
- gulp
If you are running OpenSUSE, you can install all dependencies with:
$ git clone git@github.com:moio/sumaform.git
$ git clone git@github.com:SUSE/spacewalk.git
$ sudo zypper in ruby tmux lsyncd nodejs tig
$ sudo gem install tmuxinator
$ sudo npm install -g gulp
- Clone the project:
$ git clone git@github.com:mbologna/spacewalk-tmux.git && cd spacewalk-tmux
- Create a symlink somewhere in your PATH (personal preference:
~/bin
):
$ ln -s `pwd`/spacewalk-tmux ~/bin/spacewalk-tmux
- Edit the following variables in
~/bin/spacewalk-tmux
adjusting the self-explanatory values accordingly:
SUMA_SERVER_HOST = 'suma31pg.tf.local'
SUMAFORM_PATH = '/home/mbologna/Development/sumaform'
SPACEWALK_PATH = '/home/mbologna/Development/spacewalk'
SPACEWALK_TMUXINATOR_CONFIG_PATH = '/home/mbologna/.tmuxinator'
LSYNC_CONFIG_PATH = '/home/mbologna'
- Launch tmux via
$ spacewalk-tmux
- Happy coding!
- Clone sumaform and SUSE Manager (or spacewalk).
- Install
spacewalk-tmux
:
$ git clone git@github.com:mbologna/spacewalk-tmux.git && cd spacewalk-tmux
$ ln -s `pwd`/spacewalk-tmux ~/bin/spacewalk-tmux
$ vim ~/bin/spacewalk-tmux # change values
$ spacewalk-tmux
- Think of your setup: is there anything missing in
spacewalk-tmux
? - Fork the project
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request