使用Mercurial在Cruise控制.net中授权所需的错误

时间:2011-06-03 07:10:22

标签: mercurial cruisecontrol.net

我们在其中一个项目中使用mercurial作为源控件。我们正尝试使用巡航控制.net。

为该项目设置持续集成

在执行此操作时,我们将源控件设置为

<sourcecontrol type="hg">
    <repo>path of repository</repo>
    <workingDirectory>
      working directory path
    </workingDirectory>        
  </sourcecontrol>

但是当我尝试构建时,我得到了一个像这样的错误

Error Message:  ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: abort: http authorization required
. Process command: hg pull --noninteractive repository path
   at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo)
   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)

我认为错误发生是因为我没有在源控制块中提供用户名和密码。但我不知道如何提供授权凭证,请任何人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

一个选项是将用户名和密码放在URL中 - 这不是Mercurial的事情,它通常是HTTP URL的一部分。这是一个例子:

http://username:password@hostname/path/to/repo

其他选项包括在巡航控制用户的[auth]文件中使用~/.hgrc部分,但将其放入网址可能最简单(尽管不是非常安全)。