【问题标题】:Teamcity build loops on successful buildTeamcity 构建循环成功构建
【发布时间】:2010-02-14 14:16:03
【问题描述】:

我已经使用 Teamcity 建立了一个构建。请参阅下面的构建文件。

  • 当构建成功并且测试通过时,构建过程就会无限循环地反复运行。

  • 当构建失败时,这不会发生。

我首先尝试在构建触发上设置 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>

【问题讨论】:

    标签: msbuild continuous-integration teamcity


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      teamcity 的安装似乎出现了一些问题,重新安装后的配置备份以完全相同的配置和 buildscript 解决了问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多