Как сделать так, чтобы результат сборки TFS был "частично успешным" при наличии предупреждений о сборке?


Мы используем TFS server 2012 и имеем сборки CI, настроенные на сервере сборки.

В настоящее время результатом сборки является "Failed", если что-либо не удалось скомпилировать, "particularly Successed", если есть какие-либо ошибки модульного теста, и "Successed" в противном случае.

Моя проблема заключается в том, что я не хочу, чтобы результат был "успешным", если есть какие-либо предупреждения сборки, будь то предупреждения компилятора, предупреждения анализа кода, предупреждения StyleCop или что-то еще.

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

2 3

2 ответа:

Ниже пользовательское действие установит статус сборки в PartiallySucceeded:

   [BuildActivity(HostEnvironmentOption.Agent)]
    public class Activity : CodeActivity
    {
         protected override void Execute(CodeActivityContext context)
         {
              IBuildDetail build = context.GetExtension<IBuildDetail>();
              build.Status = BuildStatus.PartiallySucceeded;
              build.Save();
         }
    }

Другие возможные варианты включают:

All все статусы применимы.

Failed Сборка не удалась.

InProgress Сборка продолжается.

None статус недоступен.

NotStarted Сборка не началась.

PartiallySucceeded Сборка частично удалась.

Stopped сборка остановлена.

Succeeded построить преуспевший.

Построение считается "частично успешным", если свойству" Test Success "присвоено значение" False "и"CompilationSuccess"="True". Таким образом, вы можете добавить настроенное действие, которое проверяет свойства тезисов, добавить это действие в новый шаблон сборки.