Лучший способ интеграции StyleCop с TFS CI
Я занимался исследованием того, как включить исходный анализ для проекта, над которым я работаю, и планирую использовать StyleCop. У меня есть сервер TFS для управления исходным кодом, использующий непрерывную интеграцию TFS. Я хочу включить исходный анализ для сборок CI и ежедневных сборок, выполняемых на сборочной машине, а не только для тех, которые работают на машинах разработчиков.
Вот статья из документации StyleCop, которую я прочитал на эту тему: http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html. Это в основном изменяет файл csproj для этой цели.
Я также прочитал другие мнения о том, как StyleCop должен быть интегрирован с автоматизацией сборки, которые советуют делать то же самое, используя задачи сборки:
http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html http://freetodev.spaces.live.com/blog/cns!EC3C8F2028D842D5!400.entry,
Что ты думаешь? Были ли у вас похожие проекты и вы делали что-то подобное?
3 ответа
Некоторые моменты для использования StyleCop в целом:
- Вам не нужно устанавливать StyleCop на своем компьютере (или компьютере сборки) - просто добавьте двоичные файлы StyleCop в систему управления версиями (около 1,5 МБ)
Затем просто добавьте относительную ссылку на файлы вашего проекта, например так (я пропустил <и>):
Импортировать проект ="..\..\lib\Microsoft StyleCop\Microsoft.StyleCop.Targets"
Мы рассматриваем все предупреждения StyleCop как ошибки, используя
StyleCopTreatErrorsAsWarnings
настройка в файле проекта.- Для устаревших проектов вы можете использовать инструмент, предоставленный Microsoft, чтобы автоматически настроить игнорирование всех существующих исходных файлов.
- Вы можете поместить файл настроек StyleCop (
Settings.StyleCop
) в корневом каталоге, где находится ваше решение VS (и, конечно, поместите его под контроль исходного кода). StyleCop знает, как найти этот файл автоматически (путем поиска в дереве каталогов). Таким образом, вы можете иметь собственные настройки для каждого решения. - Мы отключили некоторые правила StyleCop, которые, по нашему мнению, не очень практичны.
Таким образом, StyleCop будет интегрирован на этапе компиляции и, как таковой, станет частью сборки CI.
Мы успешно используем подход в следующих статьях на нескольких проектах...
http://blogs.msdn.com/sourceanalysis/pages/source-analysis-msbuild-integration.aspx http://blogs.msdn.com/sourceanalysis/archive/2008/11/11/introducing-stylecop-on-legacy-projects.aspx
в основном вы устанавливаете пару переменных среды, ссылаетесь на них во всех файлах.csproj, чтобы вы могли обслуживать различные рабочие каталоги для каждого отдельного разработчика, устанавливаете компоненты StyleCop MSBuild на сборочном компьютере и все готово. Никаких изменений в сборке команды не требуется.
Перейдите в Visual Studio, щелкните правой кнопкой мыши Решение> Управление пакетами Nuget> Установить StyleCop.MSBuild.
Вот и все =)