Msbuild Teamcity构建循环成功构建

Msbuild Teamcity构建循环成功构建,msbuild,continuous-integration,teamcity,Msbuild,Continuous Integration,Teamcity,我与Teamcity建立了一个构建。请参阅下面我的构建文件 当构建成功并且测试通过时,构建过程只是在循环中一次又一次地无限期地运行 当构建失败时,这种情况不会发生 我曾尝试在buildtriggering上首先设置60秒的暂停,最后完全禁用了buildtriggering。没有区别 还有什么其他的原因呢 我的MSBuild文件如下所示: <Project DefaultTargets="Build;Test" xmlns="http://schemas.microsoft.com/de

我与Teamcity建立了一个构建。请参阅下面我的构建文件

  • 当构建成功并且测试通过时,构建过程只是在循环中一次又一次地无限期地运行

  • 当构建失败时,这种情况不会发生

我曾尝试在buildtriggering上首先设置60秒的暂停,最后完全禁用了buildtriggering。没有区别

还有什么其他的原因呢

我的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>

$(MSBuildProjectDirectory)\..\bin
$(MSBuildProjectDirectory)\Dependencies
$(部署目录)\LinqToSql
$(建筑编号)
$(建筑编号)

看来teamcity的安装存在一些问题,重新安装后的配置备份解决了使用完全相同的配置和构建脚本的问题。

看来teamcity的安装存在一些问题,重新安装后的配置备份使用完全相同的配置和构建脚本解决了问题。

虽然这似乎不是您的问题,但我自己也遇到了类似的循环问题。我已经在项目配置中启用了标签。我还使用每60秒检查一次修改规则来触发构建。因此,成功构建后,TeamCity将在VCS中标记构建,然后60秒后,它将看到(它自己的)修改并触发另一个构建


为了解决我们的问题,我们只是禁用了标签,因为我们无论如何都不想要它,但是您也可以配置一个规则来忽略特定的作者,这样它就不会在进行修改时触发

虽然这似乎不是你的问题,但我自己也遇到了类似的循环问题。我已经在项目配置中启用了标签。我还使用每60秒检查一次修改规则来触发构建。因此,成功构建后,TeamCity将在VCS中标记构建,然后60秒后,它将看到(它自己的)修改并触发另一个构建

为了解决我们的问题,我们只是禁用了标签,因为我们无论如何都不想要它,但是您也可以配置一个规则来忽略特定的作者,这样它就不会在进行修改时触发