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
系统信息:
我从哪里开始调试问题?
答案 0 :(得分:1)
当Cruisecontrol作为服务运行时,它会使用服务帐户的凭据运行。它可能作为网络服务运行。您需要在ccnet.config文件中为Mercurial提供密码,或者您需要将身份验证证书从用户帐户文件夹复制到网络服务的帐户文件夹。该文件夹位于不同版本的Windows中的不同位置。
答案 1 :(得分:0)
由于我使用FogCreek提供的令牌(记录在http://help.fogcreek.com/8375/access-tokens-and-continuous-integration-servers),我有一个kiln.prefix,kiln.username和一个kiln.password。这三个值存储在mercurial.ini中。遗憾的是,NETWORK SERVICE用户帐户没有相应的文件,因此解决方案是使用正常的Windows用户帐户凭据运行CruiseControl.NET服务,并使用正确的mercurial.ini设置配置该帐户。