Интеграция StyleCop.Analyzers в GitLab
У меня есть проект C# (.NET Core 3.1), и я использую с ним пакет Nuget StyleCop.Analyzers. Он анализирует мой код во время сборки и показывает различные предупреждения, если обнаруживает какие-либо проблемы с моим кодом. Теперь мне интересно, можно ли интегрировать его проверки в GitLab CI piplene? Я хотел бы запускать этот анализ после каждой сборки в GitLab. Как это сделать?
1 ответ
"запускать этот анализ после каждой сборки"
Если вы используете анализ кода из, ссылаясь на пакет NuGet в своих проектах, то анализ кода выполняется во время компиляции (сборки). Нет необходимости в анализе после каждой сборки, потому что на тот момент анализ уже был сделан - вместе со сборкой. Любые ошибки, вызванные отклонениями от правил стилизации, которые вы видите в списке ошибок Visual Studio или в интерфейсе командной строки, также будут присутствовать в выходных данных конвейера GitLab CI, поскольку в конечном итоге все они компилируются одним и тем же .NET SDK.
Для правильной настройки анализа кода добавьте Ссылка на пакет для вашего проекта / ов:
<ItemGroup>
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
Дополнительно вы можете дополнительно настроить
StyleCop.Analyzers
поведение с
.ruleset
файлы, чтобы, например, отказаться от некоторых надоедливых правил стилизации:
<RuleSet Name="Rules for ClassLibrary21" Description="" ToolsVersion="15.0">
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<Rule Id="SA0001" Action="None" />
</Rules>
</RuleSet>
Файлы набора правил должны быть явно указаны в настройках файла проекта:
<PropertyGroup>
<CodeAnalysisRuleSet>..\..\StyleCop.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
Узнайте больше о наборах правил в официальной документации или посмотрите файл набора правил, который я использую в своей библиотеке на GitLab для справки.