Why didn't the failed source control in CruiseControl.net fail?

I use cruisecontrol.net to build integration along with external source control. The original control (GETMODS) script fails, that's fine, and I know why, but the assembly still remains green when it is expected to fail. CruiseControl shows an exception in the output window below, so why doesn't the build work?

ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute (ProcessInfo processInfo) at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.GetModifications(ProcessInfo info, DateTime from, DateTime to) at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ExternalSourceControl.GetMod ifications(IIntegrationResult from, IIntegrationResult to) at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModifications(ISourceControl sourceControl, IIntegrationResult lastBuild, IIntegrationResultthisBuild) at ThoughtWorks.CruiseControl.Core.IntegrationRunner.GetModifications(IIntegrationResult from, IIntegrationResult to) at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request) at ThoughtWorks.CruiseControl.Core.Project.Integrate(IntegrationRequest request) at ThoughtWorks.CruiseControl.Core.ProjectIntegrator.Integrate() at ThoughtWorks.CruiseControl.Core.ProjectIntegrator.Run() 
+4
source share
3 answers

I assume that the reasoning will be that the source control block is used:

  • to check if there are any changes in the source code that require a rebuild, and
  • to get all the source code needed to build.

If this action is not performed, it has nothing to do with the source code and obliges it. This is an infrastructure problem that prevents the assembly from happening at all, so the assembly did not work technically. He didn’t even start.

+1
source

With the version control block inside cc.net, it is looking for a modification to the repository. If cc.net cannot contact the repository, it cannot start the task. The result is an exception .

If you want to ignore this, this can help (simple retry counter)!

Can we tell CruiseControl.NET to ignore source control timeout errors?

 <maxSourceControlRetries>5</maxSourceControlRetries> <stopProjectOnReachingMaxSourceControlRetries>true</stopProjectOnReachingMaxSourceControlRetries> <sourceControlErrorHandling>ReportOnRetryAmount</sourceControlErrorHandling> 
0
source

I believe this is a recent change in ccnet. On different machines, we launch two versions. Version 1.4 breaks the assembly if it cannot get into our svn repository, but version 1.5 does not break the assembly. I have not looked into it yet, but a transition to the power of 1.5 may occur to break the failure to extract the code.

0
source

Source: https://habr.com/ru/post/1346997/


All Articles