Справиться с несколькими версиями Windows SDK на сервере сборки - PullRequest
1 голос
/ 22 августа 2011

У нас есть сервер сборки TeamCity с парой агентов, настроенных для сборки кода при регистрации для нескольких проектов c ++. Теперь мы столкнулись с некоторыми проблемами, связанными с обработкой зависимостей в Windows SDK, начиная с

  • Это слишком большая регистрация и возможность работать с источником гладко.
  • Несколько не могут быть установлены одновременно без проблем.

Самый простой способ настроить агенты TeamCity - просто установить Windows SDK. Тем не менее, установка двух версий Windows SDK проблематична, так как кажется, что она перезаписывает записи реестра предыдущих установок. Другой подход заключается в том, чтобы выбрать файлы из установки и поместить их на rsync-сервер или тому подобное, но установщик Windows SDK, похоже, изменяет двоичные файлы Visual Studio и т. Д., Так что это тоже не очень хорошо. Я также проверил в Microsoft, и они настоятельно рекомендовали не выбирать файлы из комплекта SDK.

Как вы настроили свои c ++ проекты в TeamCity и что бы вы предложили в нашей ситуации?

1 Ответ

0 голосов
/ 22 августа 2011

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

  1. Использование параметров реестра (если в каждый момент времени выполняется только одна сборка)
  2. Использование переменных среды, на которые вы ссылаетесь в файлах проекта для lib, bin и т. д.

Я видел эту работу довольно хорошо, хотя мы не использовали TeamCity.

...