Nosyd is a _minimalist_ personal command line friendly CI server. It is primarily meant to run on your developer machine.
Nosyd tracks multiple projects and automatically runs your build whenever one of the monitored files of the monitored projects has changed.
How it works
Nosyd is an auto-testing tool, also called personnal Continuous Integration server. It is a daemonization of Jeff Wrinkler's original nosy script .
Nosyd sits in the background and can monitor multiple projects. This means you only need one instance of nosyd on your desktop.
Today nosyd rebuilds projects if one of the files it monitors has changed. After it has built the project, nosyd tries to notify you
of the build results using Desktop notifications. When it can, nosyd uses information from the build to report accurate information (number of failed tests, etc).
Nosyd then goes back waiting for a project to be rebuilt.
Nosyd version has a command line interface, configuration files, supports multiple builders and desktop notifiers notifiers.
* automatically run your build whenever one of the monitored files of the monitored projects has changed
* filesets to select files monitored
* support multiple builders (nosetests, maven2, trial, django)
* notify using Gnome's notification library on Linux, Growl on Mac OS X
* per project configuration to override defaults
* command line interface to add/remove/list jobs
* persists daemon configuration using files and links
* install in path and run nosyd in a terminal to start the daemon. The terminal should be kept open, you will see the build output there
* optionally create a ~/.nosyd/config to override some of the configuration
* optionaly create a .nosy file in your project's directory. If that file changes, the file will be reloaded at next build.
* add/remove the monitored project by using --add/--remove [path] options
** you can also do it manually by adding/removing symlinks into the .nosyd/jobs/ directory
ln -s /path/to/your/project ~/.nosyd/jobs/
~/.nosyd/config optional main nosyd configuration
~/.nosyd/stop temporary file created to indicate nosyd should stop
~/.nosyd/jobs/a_link link to a directory on your file system representing a monitored project
/path/to/your/project/.nosy optional project specific configuration for nosyd
Default values for the various configuration files:
#monitor_paths (project specific)
#logging=warning (for the project and associated builder and notifier)
#check_period (when ran standalone, i.e. with --local)
Usage: nosyd [options]
--version show program's version number and exit
-h, --help show this help message and exit
-a, --add Start monitoring the specified or current directory
-r, --remove Stop monitoring the specified or current directory
-l, --list List the monitored projects
-c, --clean Clean the projects nosyd can't track anymore (links point to
-1, --local Run the standalone nosyd on the specified or current directory
-s, --stop Stops the running server, if any
Comments & bugs to <firstname.lastname@example.org>
- Nosyd should now run on Mac OS X
- Mac OS X / Growl notifier support (http://growl.info/)
- new Django builder
- new CLI options (--stop)
- be smarter at identifying the monitored project files
- some performance improvements (cache some of the monitored files resolution to lower CPU usage)
- auto-rebuild project when .nosy file is changed
- setuptools support. Project split into multiple files
- add Trial and Maven2 builders
- support FileSet for identifying monitored files
- be more cross platform
TODO: Brief introduction on what you do with files - including link to relevant help section.