While I haven't had a chance to clean up the code, folks have asked for it, so I'm making my Perforce implementation for CruiseControl available. There are some important notes:
- You need to set up your project manually, you can't do an "add" via CruiseControl.
- Some work needs to be done on the text retrieval for checkin messages, and how that's displayed on the CC.rb results pages.
To install/use it:
- Put the perforce.rb file into your cruisecontrol/app/models directory.
- Manually setup your project:
- Create a directory under the cruisecontrol/projects directory.
- Place a cruise_config.rb file in it. It should contain something like the following in order to use Perforce:
Project.configure do |project|
# Use Perforce for source control
project.source_control = Perforce.new(
:port => 'your.perforce.server:1666',
:clientspec => 'clientspec-for-cruisecontrol',
:user => 'buildusername',
:password => 'builduserpassword',
:path => '//depot/path/to/your/rails/app/...')
- Sync your code once.
- Fire up CruiseControl, and let the games begin.
Update: I've now given this an official home on GitHub. See the cruisecontrolrb_perforce project there. Fork at will, and please do send me Pull requests if you enhance the code, or at least tell me about your version, and I'll put that in the README or on the wiki, etc.