问题
I am trying to integrate Automated build process using Cruisecontrol.net latest version using the source control as "SVN". While running the CruiseControl build I am getting below error.
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)
While my "CCNet.config" Config file looks as below,
<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&server=local&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&lr=&q=%22CruiseControl.NET%22&btnG=Search" />
</externalLinks>
</project>
</cruisecontrol>
If I am taking the local version of this application and use CruiseControl build, it works fine, but while using this through SVN, I am getting this error.
Please suggest what needs to be corrected here.
Regards, Manoj
回答1:
Log into the CC.NET machine with the IDENTITY that runs the CC.NET service.
Find the svn.exe.
Open a command line prompt.
do a simple svn.exe list command, pointed at your SVN repository.
svn.exe list https://abc01.test.co.in:1234/svn/test/trunk/Myapp/
You will be prompted to accept the certificate.
Press "p" for permanent.
The key is...you must login as the same identity which runs the CC.NET service.
回答2:
Thanks everyone for helping...
earlier I was not getting the prompt for user name and password..to do so I did the below thing and now its working fine..
Open Command prompt and run following command in the command prompt:
runas /user:<SVN User> cmd
Replace "<SVN User>" with SVN username, if it is a domain user then use "<Domain Name>\<SVN Username>" format.
Above command will open a new command prompt for the SVN user. On this new command prompt, run following SVN command:
svn.exe list https://abc01.test.co.in:1234/svn/test/trunk/Myapp/
Now, it should prompt to accept certificate and then press "p" when it asks.
and its working now with CCNet as well..
来源:https://stackoverflow.com/questions/17172569/error-while-building-application-using-svn-and-cruisecontrol-net