Почему должен я не устанавливать Visual Studio на своем сервере CI?

Много людей, плохо знакомых с CI (Непрерывная Интеграция), устанавливает VS (Visual Studio) на их сервере CI, "потому что это требуется, чтобы компилировать код". MSTest является общей ссылкой, поднятой здесь.

Почему я не должен устанавливать VS (или вообще говоря, никакое программное обеспечение не out-of-the-box) на моем сервере CI?

(Этот вопрос не задали прежде, по-видимому, таким образом, я добавляю его для ссылки. Если это уже существует, извините, я пропустил его, объединитесь. Если никакой ответ не предоставлен на этот вопрос в течение некоторого времени, я могу добавить тот сам),

6
задан Tomas Aschan 21 July 2010 в 09:45
поделиться

1 ответ

Потому что вам не нужно . Лицензия Visual Studio довольно дорога, поэтому просто валять ее на сервере, где ее никто не использует, - пустая трата времени.Есть несколько аргументов, почему вам все равно потребуется установить полномасштабный экземпляр Visual Studio на сервере непрерывной интеграции, но вот их контраргументы:

Причина 1: мне нужно, чтобы он компилировался.
Реальность: Нет, не понимаешь. Для компиляции вам потребуется MSBuild , но это доступно бесплатно в Windows SDK. Обратите внимание, что существует несколько версий для разных операционных систем и версий .NET, поэтому будьте осторожны, чтобы загрузить правильную.

Причина 2: мне нужно быстро исправить ошибки на сервере.
Реальность: Нет, не понимаешь. Вы не должны делать быстрые исправления на сервере - вы должны проверить свою систему контроля версий, внести исправление, собрать и запустить тесты локально, пока она не заработает, проверить и попросить систему CI выполнить отдых для тебя. Вот почему у вас есть система CI.

Причина 3: без Visual Studio я не могу запустить MSTest на моем сервере CI.
Реальность: Неправильно. AFAIK, средство запуска MSTest также является частью SDK (по крайней мере, так оно выглядит на нашем сервере CI здесь - хотя я не могу это проверить, поскольку на данный момент у нас нет тестов ...). Однако быстрый поиск в Google нашел это сообщение в блоге , в котором объясняется, как это сделать и без SDK. Я не читал его подробно, поэтому не могу обещать, что это работает или законно. Вы были предупреждены.

Не стесняйтесь добавлять больше причин в комментариях, и я буду возражать им.

6
ответ дан 8 December 2019 в 18:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: