public
Description: Continuous Integration Server written in Rails, supporting Github and Codebase payloads
Homepage: http://gitpilot.com
Clone URL: git://github.com/radar/construct.git
name age message
file .gitignore Tue Oct 06 21:17:00 -0700 2009 Removed sample out put generated by tests and i... [bjeanes]
file Capfile Tue Oct 06 22:30:51 -0700 2009 Restart app after deployment [bjeanes]
file README.markdown Tue Oct 06 20:42:05 -0700 2009 Don't enable basic auth by default [radar]
file Rakefile Tue Sep 22 00:42:37 -0700 2009 Initial commit. [radar]
directory app/ Mon Dec 21 21:03:01 -0800 2009 Force the initial checkout too. [radar]
directory config/ Wed Nov 11 18:50:32 -0800 2009 escape hyphens [radar]
directory db/ Tue Oct 27 21:51:14 -0700 2009 Make timeout configurable per-project [bjeanes]
directory doc/ Tue Sep 22 00:42:37 -0700 2009 Initial commit. [radar]
directory features/ Wed Nov 11 17:26:30 -0800 2009 Added requirements for the nested resources too. [radar]
directory lib/ Sat Oct 17 04:19:09 -0700 2009 Run a job by itself. [radar]
directory public/ Mon Nov 16 17:44:43 -0800 2009 Fixed syntax highlighting [bjeanes]
directory script/ Tue Sep 22 00:42:37 -0700 2009 Initial commit. [radar]
directory spec/ Mon Nov 16 18:40:17 -0800 2009 Add payload for bisecting builds. [radar]
file test.rb Wed Oct 28 14:59:38 -0700 2009 Merge branch 'master' of github.com:radar/const... [radar]
directory tmp/ Fri Sep 25 17:32:16 -0700 2009 1) Added better branch support. 2) Storing stdo... [radar]
README.markdown

Constructa

Constructa is (yet another) Continuous Integration server.

It was created out of my disliking of Integrity, which hangs when it's building builds and also does not report accurately about what errors occurred during the setup process of the build. I was not about to go digging in someone else's Sinatra source.

Beta

This is in Beta stages. I don't expect it to work 100% and neither should you (although, that is the ideal situation). If you do try it out and encounter something strange and/or unusual file an issue.

Setup

Download the app set it up (I've done it using passenger) and point your Github/Codebase project's post-receive hooks at it, keeping in mind the github post-receive hook is http://ci.yourcompany.com/github and Codebase's is http://ci.yourcompany.com/codebase.

Before you push however you should create a /data/builds directory and the user that is running the application should have write access to this folder as that's where builds go. If you don't want them to go there, put them in another folder (but NOT in a folder inside the app itself, as that has lead to holes in Time & Space, amongst other things!)

You'll also need to be running the rake jobs:work jobs runner. I run mine in a screen, although I will be adding in later a God config for this. The benefit of running a background task like this is that it will not lock up your application whilst your tests are running. It also provides a live output feed so you can see precisely where your build is up to.

Finally, you can push to your repositories and with any luck they'll build successfully on construct and you'll see beautiful green instead of fear-inspiring red. Good luck!

HTTP Basic Auth

To enable Basic auth open config/constructa.yml and uncomment the user and password keys.

Contributions

Integrity (and by extension, foca) - Inspiring this whole project.

Bodaniel Jeanes - Giving me a place to hack this out on Spring Tuesday Night.

Dr Nic Williams - For encouraging me and giving time to work on it whilst at work.