【发布时间】:2015-03-04 07:26:44
【问题描述】:
在 CruiseControl.NET 1.8.4 中,我正在运行具有多个 MsBuild 任务的单个项目。项目配置的简短摘录,由 CCValidator 解析和验证:
<tasks>
<msbuild>
<buildArgs>msbuild-base.xml /m /p:BuildInParallel="true";Configuration="Release";Platform="Any CPU";nr="false";ccversionbase=15.1.0;NuGetProjectDir=D:\REPO\Repo-Base /verbosity:minimal /nologo /target:PreBuild</buildArgs>
<dynamicValues />
<environment />
<executable>C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe</executable>
<logger>"C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll"</logger>
<loggerParameters />
<priority>Normal</priority>
<timeout>120</timeout>
<workingDirectory>D:\BaseLibraries</workingDirectory>
</msbuild>
<msbuild>
<buildArgs>msbuild-other.xml /m /p:BuildInParallel="true";Configuration="Release";Platform="Any CPU";nr="false";ccversionbase=15.1.0;revfile=D:\REPO\Repo-Base\ci-revision.xml /verbosity:minimal /nologo /target:CIFull</buildArgs>
<dynamicValues />
<environment />
<executable>C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe</executable>
<logger>"C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll"</logger>
<loggerParameters />
<priority>Normal</priority>
<timeout>120</timeout>
<workingDirectory>D:\BaseLibraries</workingDirectory>
</msbuild>
</tasks>
还有很多任务,但这应该足以解释问题。所有任务都有不同的 msbuild 文件,并且不是同一文件中的目标。
要成功运行项目,前几个任务必须成功完成。因此,当任务失败时,CC.NET 停止构建是完美的。但是如果后面的某个任务失败了,我想让 CC.NET 继续下一个任务,而不是停止整个构建。
如何配置 CC.NET 以忽略失败的任务并继续下一个任务?
【问题讨论】: