Azure-DevOps отображает предупреждение о сборке - PullRequest
0 голосов
/ 19 ноября 2018

проблемный фон

Я работаю над проектом на C #, который использует DevOps Azure для CI. У меня есть файл Power Shell, который запускается при переносе проекта в Azure. Соответствующая часть файла сборки:

# $buildTools is the path to MSBuild.exe
# $solution is the path to the project's .sln file
& $buildTools $solution /t:Clean,Build /p:Configuration=Release,Platform=x86
if ($LASTEXITCODE -eq 0) {
  Write-Host 'Build completed successfully!'
} else {
  Write-Host '##vso[task.logissue type=error;]There were errors during the build of the application'
}

Задача

В настоящее время $LASTEXITCODE может быть 0 (no errors) или 1 (error). Если код выхода равен 0, все в порядке, а Azure показывает зеленый проходной значок; если это 1, Azure показывает красный значок ошибки. Однако если в сборке есть предупреждения, они отображаются в журналах, а Azure показывает зеленый значок.

Цель

Моя цель - заставить Azure отображать желтый / оранжевый значок предупреждения при наличии предупреждений. Это возможно и как? Большое спасибо за ваше время!

Попытка решения

В свойствах проекта C # Warning level имеет значение 4; поэтому я попробовал эту модификацию скрипта Power Shell, однако она не сработала.

& $buildTools $solution 4> 'warning.txt'

Обновление с решением

Благодаря ответу Д.Дж. ! Финальная строка сборки выглядит так:

# $warningsFile is a path to a file that will contain all the warnings
& $buildTools $solution /t:Clean,Build /p:Configuration=Release,Platform=x86 /fl1 "/flp1:$warningsFile;warningsonly"

1 Ответ

0 голосов
/ 19 ноября 2018

Вы можете использовать это -> https://docs.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild?view=vs-2017#save-the-log-output-to-multiple-files и записать все предупреждения в файл журнала, затем проверить, содержит ли файл журнала что-либо, а затем записать предупреждения в выходные данные с помощью этих команд (https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/commands.md)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...