2013-06-18 59 views
1

我正在尝试使用Cruisecontrol.net最新版本使用源代码管理作为“SVN”来集成自动构建过程。在运行CruiseControl构建时,我收到了错误。使用SVN和CruiseControl.net构建应用程序时出错

ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: svn: E175002: Unable to connect to a repository at URL  'https://abc01.test.co.in:1234/svn/test/trunk/Myapp/My%20Test%20Application' 
svn: E175002: OPTIONS of 'https://abc01.test.co.in:1234/svn/test/trunk/Myapp/My%20Test%20Application': Server certificate verification failed: certificate issued for a different hostname,  issuer is not trusted (https://abc01.test.co.in:1234) 
. Process command: svn log "https://abc01.test.co.in:1234/svn/test/trunk/Myapp/My Test Application" -r "{2013-06-18T11:39:13Z}:{2013-06-18T11:41:24Z}" --verbose --xml --username test_user -- password ******** --no-auth-cache --non-interactive 
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo) 
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Svn.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) 

虽然我的“的ccnet.config”配置文件看起来如下,

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 
<!-- This is your CruiseControl.NET Server Configuration file. Add your projects below! --> 

<project> 
<name>My Test App</name> 
<webURL>http://localhost/ccnet-dashboard/?_action_ViewProjectReport=true&amp;server=local&amp;project=My Test App</webURL> 
<triggers> 
    <intervalTrigger seconds="120"/> 
</triggers> 
<workingDirectory>D:\Repository\Myapp\My Test Application</workingDirectory> 
<modificationDelaySeconds>2</modificationDelaySeconds> 

<sourcecontrol type="svn"> 
    <trunkUrl>https://abc01.test.co.in:1234/svn/test/trunk/Myapp/My Test Application</trunkUrl> 
    <workingDirectory>D:\Repository\Myapp\My Test Application</workingDirectory> 
    <username>test_user</username> 
    <password>user123</password> 
</sourcecontrol> 
<tasks> 
    <msbuild> 
     <executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> 
     <workingDirectory>D:\Repository\Myapp\My Test Application</workingDirectory> 
     <projectFile>SampleApp.sln</projectFile> 
     <targets>ReBuild</targets > 
     <timeout>600</timeout > 
     <logger>c:\Program Files\CruiseControl.NET\server\Rodemeyer.MsBuildToCCNet.dll</logger > 
    </msbuild> 
</tasks> 
<publishers> 
    <merge> 
     <files> 
      <file>D:\CruiseControlBuildArtifact\build\*-results.xml</file> 
      <file>D:\CruiseControlBuildArtifact\build\fxcop\*.xml</file> 
      <file>D:\CruiseControlBuildArtifact\build\unittests\Coverage.xml</file> 
     </files> 
    </merge> 
    <xmllogger /> 
    <statistics /> 
</publishers> 
<externalLinks> 
    <externalLink name="IIS Root Web on Localhost" url="http://localhost/" /> 
    <externalLink name="Google" url="http://www.google.com/search?hl=en&amp;lr=&amp;q=%22CruiseControl.NET%22&amp;btnG=Search" /> 
</externalLinks> 
</project> 
</cruisecontrol> 

如果我采取这一应用程序的本地版本,并使用CruiseControl的构建,它工作正常,但在使用本通过SVN,我得到这个错误。

请在这里提出需要纠正的问题。

问候, 马诺

+2

您应该阅读错误消息...您的ssl证书无效。你可以手动接受它,或者添加证书。 http://stackoverflow.com/questions/3147660/server-certificate-verification-failed-issuer-is-not-trusted – thekbb

+0

当我尝试使用IE /通过TortosieSVN连接svn,它工作正常,我该如何接受它手动或添加证书。你能否让我知道步骤?另外,当我尝试从命令提示符运行命令“svn list ”时,它不会要求我确认证书,并且它会显示指定URL路径上的可用文件夹。 – user1662589

回答

2

登录到CC.NET机与运行CC.NET服务的身份。

找到svn.exe。

打开命令行提示符。

做一个简单的svn.exe列表命令,指向你的SVN仓库。

svn.exe list https://abc01.test.co.in:1234/svn/test/trunk/Myapp/ 

系统将提示您接受证书。

按“p”为永久。

关键是...您必须以运行CC.NET服务的相同身份登录。

+0

我试过你的解决方案,但它并没有提示我接受证书,而是它给了我指定路径中所有目录的列表。 – user1662589

+0

我已经更改CruiseControl.NET服务运行的用户的用户id/pwd(与svn用户id/pwd相同),但成功。 – user1662589

+0

检查thekbb给你的答案........并在该链接中注意这一点“--trust-server-cert” – granadaCoder

1

感谢大家的帮助...

前,我没有得到提示输入用户名和password..to这样做,我做了下面的事情,现在它工作正常..

打开命令提示并在命令提示符下运行以下命令:

runas /user:<SVN User> cmd 

Replace "<SVN User>" with SVN username, if it is a domain user then use "<Domain Name>\<SVN Username>" format. 

上面的命令会为SVN用户打开一个新的命令提示符。在这个新的命令提示符下运行以下命令SVN:

svn.exe列表https://abc01.test.co.in:1234/svn/test/trunk/Myapp/

现在,就应该及时接受证书,然后按“P”时,它要求。

及其现在与CCNet一起工作。

+0

你是否以“ \ 登录到机器中”。 。那不起作用?因此你想出了这个解决方法? (只是要求将来参考) – granadaCoder

+0

我在其上运行CCNET的机器,我用其他帐户登录过。所以我使用的命令提示符是登录用户,而不是SVN用户。所以我更改了命令提示符,在上述解决方法(runas/user: cmd)的帮助下使用SVN用户,然后此解决方法提示我接受按下“p”的证书。在此之后,我使用SVN用户帐户运行CCNET服务,并为我工作。 – user1662589

+0

对,就是简单的命令行版本:以另一个用户身份登录。整个事情的关键是接受证书(p)。 – granadaCoder

相关问题