A continuous integration server on top of substacks cicada.


A continuous integration server for Node.js applications.

$ [sudo] npm install -g cinnamon
$ cinnamon server
$ cd /into/your/project
$ $EDITOR package.json

// Define your test script and pipe the output into the cinnamon logfile.
"scripts": {
  "test": "npm install && grunt test > cinnamon.log"

That's it! I promise. Now you can use the cinnamon push application in order to trigger the CI process.

Important: The push application will also push your changes into your defined remote git repository. With other words: You can use

$ cinnamon push <remote> <branch>

as a substitution of your well-known git workflow. cinnamon will do both for you: Pushing into your remote git repository and pushing the changes into the cinnamon CI server.

Open your Browser and visit:


cinnamon will save every build into the following directory:


If you won't use cinnamon on your local machine you can also install the module on a remote machine, start the server and trigger the CI process from your local computer. To do so, you have to configure the "endpoint" attribute in your local configuration file.

$ $EDITOR ~/.cinnamonrc
  • [ ] WebSocket-Support
  • [ ] Source documentation.
  • Frontend: Implemented long polling for the build overview.
  • Moved configuration file to ~/.cinnamonrc
  • Moved data directory to ~/.cinnamon
  • Implemented client and server CLI.
  • Implemented 'push application' that wraps the git commands for pushing to main repo and the cinnamon CI server.
  • Fixed startup via shell script.
  • Implemented REST-API for the AngularJS frontend.
  • Implemented data aggregation, service and DAO layer.
  • Implemented CI server events.

2013, André König -

... for your incredible cicada module.