Reputation: 2894
CruiseControl.net correctly detects that there are "No modifications detected" when I run the program with a visible terminal and shows green build reports but after I quit the program and start the service, the builds fail with the following stack trace:
ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: . Process command: C:\Program Files\TortoiseHg\hg.exe pull https://redacted.kilnhg.com/Code/Repositories/Group/HealthTracker
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Mercurial.Mercurial.HgPull(IIntegrationResult result)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Mercurial.Mercurial.GetModifications(IIntegrationResult from, IIntegrationResult to)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModifications(ISourceControl sourceControl, IIntegrationResult lastBuild, IIntegrationResult thisBuild)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.GetModifications(IIntegrationResult from, IIntegrationResult to)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request)
Project: HealthTracker
System Information:
Where do I start to debug the problem?
Upvotes: 1
Views: 122
Reputation: 2894
Since I use a token provided by FogCreek (documented at http://help.fogcreek.com/8375/access-tokens-and-continuous-integration-servers), I have a kiln.prefix, kiln.username, and a kiln.password. The three values are stored inside mercurial.ini. Unfortunately, there is no corresponding file for the NETWORK SERVICE user account so the solution is to run the CruiseControl.NET service with a normal Windows user account's credentials and configure that account with the correct mercurial.ini settings.
Upvotes: 0
Reputation: 1662
When Cruisecontrol runs as a service it runs with the service account's credentials. It is probably running as network service. You will either need to provide a password for Mercurial in the ccnet.config file or you will need to copy your authentication certificates from your user account folder to the network service's account folder. That folder is in different places in different versions of Windows.
Upvotes: 1