Croni is a simple cron based CI server with a responsive bootstrap powered web client. It enables Continuous Integration with almost no setup, just add your build and test scripts an trigger them periodically to get a notification about errors beforehand and not while compiling.

webtestingci

Why?

Croni shall help persons and small teams, who are having the need for a build server, which at least runs daily/hourly. But don’t want to setup and maintain a fully blown build setup like Jenkins, Bamboo, et cetera.

What functionalities does croni provide?

Basically, croni adds a bootstrap powered front end to cron for better overview and forces one to put each cronjob in a repository, which makes it easy to share, keep track of changes and deploy croni in seconds.

The croni front end does not provide any interaction like triggering a build or the like. Furthermore, it only provides information about finished builds, i.e. no informaton about running jobs are shown.

Dependencies in bold has to be met!
Python is only necessary for HTTP server and firefox opens croni’s index.html locally without one.
Croni will run fine without sendmail, it simply just doesn’t send mails.

Give it a try!

First, back up your current crontab - it will be replaced! Then execute following commands:

Okay, how do I keep this example?

You can simply fork the croni-test repository on github or create an empty repository on any arbitrary git server. Then do steps in “Give it a try!” section and change the remote-url to the one of your repository and push.

git remote set-url origin $URL
git push -u origin master

Congratulations, you have just created your croni build server!

What’s next?

Basically, it’s a hacky prototype. It would be interesting to (re)write croni properly in python to build a basis to go towards a “mature” build server, but this depends on the feedback. Personally, it’s a handy cronjob presenter and handler.