|
Revision 1143, 1.2 kB
(checked in by noradio, 3 years ago)
|
Moved configurable constant assignment to environment.rb.
|
| Line | |
|---|
| 1 |
== CIA: Continuous Integration Automater |
|---|
| 2 |
|
|---|
| 3 |
A continuous integration server has a hook into the version control system |
|---|
| 4 |
(Subversion in case of CIA) and when a commit is made it... |
|---|
| 5 |
|
|---|
| 6 |
1. Find a project that was matched by at least one of the checked in files |
|---|
| 7 |
2. Checkout that entire project to a temporary directory |
|---|
| 8 |
3. Run all unit and functional tests on the freshly checked out application |
|---|
| 9 |
4. Send an email describing the errors if any occurred during the test run |
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
== Setting up the database |
|---|
| 13 |
|
|---|
| 14 |
CIA is a perfect fit for SQLite, but you can really use any database. SQLite is |
|---|
| 15 |
just so easy to use for such a small system. Initialize the database with: |
|---|
| 16 |
|
|---|
| 17 |
sqlite db/cia.sqlite # creates and loads the database |
|---|
| 18 |
.read db/sqlite.sql # creates the necessary tables |
|---|
| 19 |
|
|---|
| 20 |
== Adding projects |
|---|
| 21 |
|
|---|
| 22 |
When adding a project, +repository+ is the path to your local svn repository |
|---|
| 23 |
and +path+ is the path within the repository to the project you are adding. |
|---|
| 24 |
|
|---|
| 25 |
== The post-commit hook |
|---|
| 26 |
|
|---|
| 27 |
Setting up CIA requires that you're on the same machine as the repository. If |
|---|
| 28 |
you haven't already activated the post-commit hook, then copy /path/to/repos/hooks/post-commit.tmpl |
|---|
| 29 |
to /path/to/repos/hooks/post-commit and add to the bottom of it: |
|---|
| 30 |
|
|---|
| 31 |
/path/to/cia/script/runner "Agent.build(\"$REPOS\", $REV)" |
|---|