Я только что настроил TeamCity, используя базу данных SQL Server и экземпляр нашего веб-приложения, работающего на Tomcat, на одной виртуальной машине Windows.
- Веб-сервер TeamCity работает на
Сам Tomcat, и использует хорошую сделку
памяти (как и любое приложение Tomcat).
- Агенты TeamCity Build, так как они
скомпилируйте, используйте тонну памяти.
- SQL Server - это проблема с памятью.
JetBrains упоминает, что агенты сборки не должны оптимально работать на том же сервере, что и веб-сервер. Я бы посоветовал также разделить базу данных (на физический блок, а не только на виртуальную машину), чтобы сама установка CI использовала 3 системы (веб-сервер TeamCity, база данных TeamCity, агент сборки TeamCity). Если ваши сборки занимают более нескольких минут, я бы добавил еще один сервер агента сборки, чтобы разработчики не стояли в очереди на коммиты, особенно если вы используете функцию удаленного запуска / личной сборки TeamCity из IDEA или Eclipse.
У меня не возникло бы проблем с размещением сервера SVN в той же системе, что и веб-сервер TeamCity.
Имейте в виду, что компиляция - это действие, которое обычно связано с процессором или доступом к диску. Агенты сборки выиграют от разделения на отдельные процессоры и / или диски. Однако нахождение на отдельных виртуальных машинах, которые совместно используют диски и процессоры, может быть более расточительным, чем полезным из-за накладных расходов нескольких виртуальных машин.