I haven't had good experiences with continuous integration systems. They seem to work fine for a few months until they go senile and I have to nuke and reinstall them. Kent Safranski sent in Avow-CI (GitHub: Fluidbyte / avow-ci, License: MIT), an open source CI server that's built on Node and MongoDB -- hopefully this one will be different!
Avow supports Git web hooks, so you can automatically run tests when commits are pushed. It can also be configured to build a specific branch, and allows manual builds to be run.
To add a project to Avow you'll need to add an
avow.json file to the project's root directory. This describes the build process as an array of tasks. Tasks are run with
require('child_process').spawn, so you could technically trigger anything -- I'd like to try it with
xcodebuild if I have time.
Sometimes I wish CI servers were just cron jobs that check for a non-zero exit code, but I might be able to learn to like a simple RESTful web application if it can run for a few months without exploding. The fact Avow accepts an array of commands to run is nicely simple and flexible, but I'm not sure I like the idea of having to add an
avow.json file to my projects.
One thing I like about Avow is the structure of the code: the "models" are just properties on
module.exports, and the HTTP routing layer is also super simple. You should take a look if you make Node web applications.