This is a Jenkins like minimal testing server.
It has a very simple configuration file that sets up how to perform the full testing.
As its in a very infant state, and the goals are quite restricted, if you need something more complex, go for Jenkins (http://jenkins-ci.org/). I use it myself for more complex projects.
- Very minimal configuration, depends on just one small config file and your own shell based rules and tests. Up in 2 min.
- Very minimal memory consumption. Just now about 2MB Res memory.
- Very fast. Its made on C++.
- Cron runnable check for test.
- Allow several tests.
- Change env variables on interface for runtime change of the behaviour of your tests.
- No need for extra servers, no tomcat, no apache/nginx frontend.
- 2MB vs 150MB (using Jetty).
- Really easy to understand. Just 750 lines of code.
- C++ vs Java.
- Just one user account.
git clone https://github.com/davidmoreno/onion.git cd onion mkdir build cd build cmake .. make sudo make install
git clone https://github.com/davidmoreno/garlic.git cd garlic mkdir build cd build cmake .. make sudo make install
- Create directory for your tests
- Create a config.ini file with contents similar to this, but tailored to your needs:
[global] # if no password, then free entry. username=coralbits password=coralbits name=Example test: random, sometimes ok, sometimes fail. #cwd= # where to chdir, defaults to test dir. [scripts] # command to run when an error happens. As stdin it receives the output of the test. on_error=mail -s "Garlic error" "email@example.com" # command to run when after an error we get a success. As stdin it receives the output of the test. on_back_to_normal=mail -s "Garlic back to normal" "firstname.lastname@example.org" # check to run for --check_and_run command line parameter. #check=git fetch && [ $(git diff origin/master | wc -l) = 0 ] check=false # test to run test=./test.sh # must include update/pull if necessary # name of the test test_name=Generic test # if more than one, add _1, _2... to test and test_name. test_1=git pull test_name_1=Pull [env] # envirnomental variables added before runnign tests and on_error/on_back_to_normal FROMemail@example.com TOfirstname.lastname@example.org [env-rw] # env-rw are environmental varaibles modifiable at the gui when running the tests. # with defaul option PARAM1=Default value # No default option. PARAM2=
- Add to cron to check each hour (optional):
crontab -e 00 * * * * garlic PATH_TO_CONFIG --check-and-run
- Run the webserver: