У меня есть проект С# (.NET Core 3.1), и я использую с ним пакет nuget StyleCop.Analyzers. Он анализирует мой код во время сборки и показывает различные предупреждения, если обнаруживает какие-либо проблемы с моим кодом. Теперь интересно, можно ли интегрировать его проверки в пиплен GitLab CI? Я хотел бы запускать этот анализ после каждой сборки в GitLab. Как это сделать?
Интеграция StyleCop.Analyzers в GitLab
Ответы (1)
запускать этот анализ после каждой сборки
Если вы используете анализ кода из StyleCop.Analyzers
, ссылаясь на пакет NuGet в своих проектах, то анализ кода выполняется во время компиляции (сборки). Нет необходимости в анализе после каждого билда, потому что в этот момент анализ уже сделан — вместе со билдом. Любые ошибки, вызванные отклонениями от правил оформления, которые вы можете увидеть в списке ошибок Visual Studio или CLI, также будут присутствовать в выводе конвейера GitLab CI, так как в конце концов все они компилируются одним и тем же .NET SDK.
Чтобы правильно настроить анализ кода, добавьте ссылку на пакет StyleCop.Analyzers
в свой проект:
<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 для справки.