Циклы сборки Teamcity при успешной сборке - PullRequest
0 голосов
/ 14 февраля 2010

Я создал билд с 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>

Ответы [ 2 ]

4 голосов
/ 24 марта 2011

Хотя кажется, что это не ваша проблема, я столкнулся с подобной проблемой зацикливания. Я включил маркировку в конфигурации проекта. Я также использовал проверку изменений каждые 60 секунд для запуска сборки. В результате после успешной сборки TeamCity пометит сборку в VCS, а затем через 60 секунд увидит (свою) модификацию и запустит другую сборку.

Чтобы исправить нашу проблему, мы просто отключили маркировку, потому что в любом случае она нам не нужна, но вы также можете настроить правило, чтобы игнорировать отдельных авторов, чтобы оно не вызывало внесенные изменения

0 голосов
/ 15 февраля 2010

Похоже, что были некоторые проблемы с установкой teamcity, и резервное копирование конфигурации после переустановки решило проблему с точно такой же конфигурацией и сценарием сборки.

...