Как получить частично успешные командные сборки для вывода в каталог drop - PullRequest
0 голосов
/ 10 сентября 2010

Я использую Visual Studio Team Build.Моя сборка компилирует вещи, а затем запускает несколько автоматических тестов.Если тесты не пройдены, сборка заканчивается со статусом «Частично успешно».Когда это происходит, единственным файлом в каталоге удаления является журнал сборки.Кажется, что команда build только копирует содержимое папки Binaries в каталог drop, если сборка заканчивается на «Succeeded».

Но мне действительно нужно просмотреть файлы из каталога Binaries, чтобы помочь мне диагностировать, почемусборка была выполнена только частично.

Есть ли способ заставить сборку команды записывать в каталог отбрасывания, когда сборка только "частично выполнена"?

Ответы [ 2 ]

0 голосов
/ 10 сентября 2010

Я вызвал это, добавив следующее в мой TFSBuild.proj. Хотя это не очень аккуратно.

<PropertyGroup>
    <CoreTestDependsOn>$(CoreTestDependsOn);SmokeTest</CoreTestDependsOn>
</PropertyGroup>

<Target Name="SmokeTest">

    <!-- Exec stuff here to run some tests, output exit code to property SmokeTestExitCode. Use ContinueOnError="true" -->

    <!-- Still create drop folder even if build ending with status "Partially Succeeded" -->
    <CallTarget Condition="'$(IsDesktopBuild)'=='false' And '$(SmokeTestExitCode)'!='0'" Targets="DropBuild"/>

    <!-- Now, after creating drop folder, raise error to cause "Partially Succeeded" instead of "Succeeded" -->
    <Error Condition="'$(SmokeTestExitCode)'!='0'" Text="Smoke Test Failed with exit code=$(SmokeTestExitCode)"/>
</Target>
0 голосов
/ 10 сентября 2010

Это странно.Поведение по умолчанию состоит в том, что выходные данные сборки копируются в расположение отбрасывания в случае неудачного выполнения тестов.Можете ли вы увидеть в журнале сборки, почему это частично удается?

...