== CIA: Continuous Integration Automater A continuous integration server has a hook into the version control system (Subversion in case of CIA) and when a commit is made it... 1. Find a project that was matched by at least one of the checked in files 2. Checkout that entire project to a temporary directory 3. Run all unit and functional tests on the freshly checked out application 4. Send an email describing the errors if any occurred during the test run == Setting up the database CIA is a perfect fit for SQLite, but you can really use any database. SQLite is just so easy to use for such a small system. Initialize the database with: sqlite db/cia.sqlite # creates and loads the database .read db/sqlite.sql # creates the necessary tables == Adding projects When adding a project, +repository+ is the path to your local svn repository and +path+ is the path within the repository to the project you are adding. == The post-commit hook Setting up CIA requires that you're on the same machine as the repository. If you haven't already activated the post-commit hook, then copy /path/to/repos/hooks/post-commit.tmpl to /path/to/repos/hooks/post-commit and add to the bottom of it: /path/to/cia/script/runner "Agent.build(\"$REPOS\", $REV)"