我已经使用Teamcity建立了一个版本。请参阅下面的构建文件。
当构建成功并且测试通过时,构建过程会在循环中无限期地一次又一次地运行。
如果构建失败,则不会发生这种情况。
我试图首先在buildtriggering上设置60秒暂停,最后完全禁用构建触发。没有区别。
还有什么可能是造成这种情况的?
我的MSBuild文件如下所示:
<Project DefaultTargets="Build;Test" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<PropertyGroup>
<DeployDirectory>$(MSBuildProjectDirectory)\..\bin</DeployDirectory>
<DependencyDirectory>$(MSBuildProjectDirectory)\Dependencies</DependencyDirectory>
<LinqToSqlMapFolder>$(DeployDirectory)\LinqToSql</LinqToSqlMapFolder>
<NCoverVersionForMSI>$(BUILD_NUMBER)</NCoverVersionForMSI>
<NCoverVersionPeriod>$(BUILD_NUMBER)</NCoverVersionPeriod>
</PropertyGroup>
<ItemGroup>
<ProjectFiles Include="**\*.vbproj"/>
<ConfigFiles Include="**\*.config"/>
<MapFiles Include="**\*.linqtosql.config"/>
<TestAssemblies Include="$(DeployDirectory)\*.Test.dll"/>
<Dependencies Include="$(DependencyDirectory)\**\*" />
</ItemGroup>
<Target Name="Clean">
<MSBuild Projects="@(ProjectFiles)" Targets="Clean"/>
</Target>
<Target Name="Build">
<MSBuild Projects="@(ProjectFiles)" Targets="Rebuild">
<Output TaskParameter="TargetOutputs" ItemName="BuildOutput"/>
</MSBuild>
<Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(DeployDirectory)" />
<Copy SourceFiles="@(Dependencies)" DestinationFolder="$(DeployDirectory)" SkipUnchangedFiles="true" />
<Copy SourceFiles="@(ConfigFiles)" DestinationFolder="$(DeployDirectory)" SkipUnchangedFiles="true" />
<Copy SourceFiles="@(MapFiles)" DestinationFolder="$(LinqToSqlMapFolder)" SkipUnchangedFiles="true" />
</Target>
<UsingTask AssemblyFile="$(DependencyDirectory)\Gallio\Gallio.MsBuildTasks.dll" TaskName="Gallio" />
<Target Name="Test">
<Gallio IgnoreFailures="true" Files="@(TestAssemblies)">
<Output TaskParameter="ExitCode" PropertyName="ExitCode"/>
</Gallio>
</Target>
</Project>
答案 0 :(得分:4)
虽然看起来这不是你的问题,但我遇到了类似我自己的循环问题。我在项目配置中启用了标签。我还每60秒使用一次检查修改规则来触发构建。因此,成功构建后,TeamCity会在VCS中标记构建,然后60秒后,它会看到(它自己的)修改并触发另一个构建。
要解决我们的问题,我们只是禁用了标签,因为我们仍然不想要它,但您也可以配置规则来忽略特定作者,这样它就不会触发它所做的修改。
答案 1 :(得分:0)
安装teamcity时出现了一些问题,重新安装后的配置备份解决了完全相同的配置和buildscript的问题。