我有一个cruisecontrol配置文件设置为轮询SVN服务器,理论上更新是否有最近的修改。但是,无论何时触发触发器,都会失败:
ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: svn: Cannot negotiate authentication mechanism
. Process command: C:\Program Files\Subversion\bin\svn.exe update C:\Source\Wholesale\XXXX.SWControl.TestingFramework\ --username mmayo --password ******** --no-auth-cache --non-interactive
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Svn.UpdateSource(IIntegrationResult result)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Svn.GetSource(IIntegrationResult result)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Build(IIntegrationResult result)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request)
我的配置中的相关行是:
<sourcecontrol type="svn">
<trunkUrl>http://app7002-svn.oy.gb.sportingindex.com/CoreAPI/trunk/Wholesale/XXXX.EventControl.TestingFramework</trunkUrl>
<executable>C:\Program Files\Subversion\bin\svn.exe</executable>
<workingDirectory>C:\Source\Wholesale\SPIN.SWControl.TestingFramework\
</workingDirectory>
<username>mmayo</username>
<password>********</password>
</sourcecontrol>
<triggers>
<intervalTrigger name="Subversion" seconds="60" />
</triggers>
网上有各种各样的问题,谈论它是如何成为SSH密钥对的问题,但鉴于简单的设置,缺少SSH等等,我确信这只是一些简单的我不知道。
或者,如果你有一个有效的TortoiseSVN CC.Net脚本,我很乐意看到它;)
答案 0 :(得分:1)
从构建服务器,您是否尝试使用这些凭据或使用自己的凭据手动下拉代码?如果两者都不起作用,则svn服务器可能阻止构建服务器。
另一个潜力 - 您是否尝试将主干网址设置为“svn:// ...”而不是“http:// ...”?根据您的svn服务器的设置方式,这可能是访问项目的一种更简单的方法。
答案 1 :(得分:1)
我在Windows 64bit下有Tortoise SVN 1.7 BETA 64bit,有和没有CruiseControl.Net。
解决方案是在
中的客户端PC上添加注册表项HKEY_LOCAL_MACHINE \ SOFTWARE \ Carnegie Mellon \ Project Cyrus \ SASL Library
(我必须创建这个“路径”)
标签:
SearchPath中
包含字符串:
C:\路径\到\ SVN \二进制\与\ sassl \支持\ BIN
对我来说......“\ TortoiseSVN \ bin”
发现于:
http://wiki.nullstack.net/SVN_cannot_negotiate_authentication_mechanism