views:

546

answers:

3

I'm having a problem where I have been able to add a project to CC.rb perfectly fine but when I start the service I get "Access Denied" messages each time it checks with Subversion for a newer version.

I'm running with --trace and running the exact command it is trying from the project's work directory:

svn --non-interactive log --limit 1 --revision HEAD:1 --verbose --xml

results in a response coming back as expected.

Can anyone point me in the right direction?

Update

Moved onto http as https seems to be the source of a lot of headache but this has not helped.

I've also hacked at the source to get my username and password passed with the above command and that hasn't helped either.

+1  A: 

Make sure that if you are using SSL that the user account running the script, has a cached certificate permission for the SSL.

That is for cruisecontrol.net, which is a service that runs as a very specific user in windows. You may need to figure out the impersonation rules for ruby.exe to determine if it runs as network service, or if you can get it run as yourself.

Here is a link on how to make cc.rb run as a windows service and behave like cc.net although still lighter weight. Sorry wrong link its actually on nabble, and you'll need cygwin.

DevelopingChris
I am running the command manually and also the command to kick off the server. I followed these instructions http://elegantcode.com/2009/02/10/getting-cruisecontrolnet-working-with-svn-over-https/ to try and make sure all users have a version of the certificate but that didn't help either.
Garry Shutler
see updates, I think you are running into ruby.exe, running on a system account without the cert cache, and you need it to impersonate you.
DevelopingChris
CruiseControl.net is a very different animal, since its actually an installed service on windows with a polling that impersonates a user account via the services configuration.
DevelopingChris
I've moved to http but unfortunately that hasn't helped. I'll look at getting it to run as a service. Upvote for taking the time to help.
Garry Shutler
A: 

If you use the latest version of CruiseControl.rb as pulled from their git repo, it should solve your problem (at least it did for me).

The git command is:

git clone git://rubyforge.org/cruisecontrolrb.git

You may need to install git if you're running on windows. You can get msysgit here: http://code.google.com/p/msysgit/downloads/list

Hope this helps.

Thanks, I'll give this a go when I get chance.
Garry Shutler
A: 

Its been a while since I worked with CruiseControl.rb but I do remember that it used common credentials stored on the machine for authentication/access to SVN repositories. This was nice since they need not be entered each time, but caused a lot of headaches when one of the developers (or some other process) would connect to a SVN repo from that machine using different credentials than what CruiseControl was expecting. You may what to check to see if this is happening/happened. I believe this may have been fixed in the latest version or is at least in the queue as a feature/bug fix.

Benjamin Lee