У меня есть настройка непрерывной интеграции с использованием Hudson, и в последнее время я настроил задания на использование svn update для получения последней версии кода. Мне очень нравится этот подход, поскольку он позволяет msbuild обновлять соответствующую версию и строить только собранные сборки.
Однако я заметил, что, поскольку я снова не выполняю сборку всех сборок, я теряю все предупреждения компилятора для этих сборок, если они не построены.
Например, если у меня есть 3 сборки с зависимостями, продемонстрированными с помощью отступов:
- Assembly 1 10 warnings
- Assembly 2 (Depends on 1) 10 warnings
- Assembly 3 (Depends on 2) 10 warnings
- Assembly 2 (Depends on 1) 10 warnings
Первая сборка построит все 3 сборки и записывает 30 предупреждений.
В следующей сборке, если я изменю только сборку 3, Hudson будет строить только сборку 3, и я получу только 10 предупреждений для этой сборки, фактически помечая 20 предупреждений как «исправленные».
Насколько я могу судить, этого не будет, но я хотел бы знать, настроил ли кто-нибудь Hudson для сохранения этих предупреждений компилятора от одной сборки к другой.
Изменить: Да, я понимаю, что это может превратиться в дебаты о том, что «вы должны / не должны делать обновление в CI-боксе», но есть причины, по которым мы выбрали подход к обновлению.
- Это примерно в 3 раза быстрее
- Мы по-прежнему производим самые современные сборки
- msbuild может создавать версии сборки соответственно.