Какой инструмент я должен использовать для создания моей сборочной машины? - PullRequest
3 голосов
/ 22 января 2011

В свободное время я работаю над многоплатформенной / многоархитектурной библиотекой, написанной на C++.

Перед каждым выпуском мне приходится загружать несколько компьютеров (один на Windows, один на Linux, другой на Mac OS, ...), чтобы убедиться, что код компилируется и работает нормально на каждой платформе.

Поэтому я решил создать свою собственную сборочную машину, но я действительно не знаю, какие инструменты существуют для этого. Я бы хотел, чтобы моя сборочная машина работала на Linux, но будет принято любое другое решение.

В идеале мне просто нужно нажать на кнопку «Построить все», и она скомпилирует мою библиотеку для различных платформ / архитектур, сгенерирует архивы из результата и / или сообщит о потенциальных ошибках.

Мои ограничения проекта:

  • Написано в C++
  • Компилируется в Windows с использованием SConstruct / MinGW и Visual Studio 2010
  • Он компилируется в Linux и Mac OS с использованием SConstruct / g ++
  • Источники хранятся в Subversion (SVN)

Знаете ли вы какой-нибудь инструмент / набор инструментов, которые могли бы помочь мне в достижении моей цели?

Большое спасибо.

1 Ответ

3 голосов
/ 22 января 2011

Я бы настроил 3 ВМ ( VirtualBox бесплатно), по одной для каждой платформы.

Установите TeamCity (или Hudson) в Linux и агентов на других виртуальных машинах, и тогда вам остается только настроить систему сборки.

На самом базовом уровне у вас должно быть 2 задания: одно для извлечения источников из Subversion и другое для вызова scons.

Я не слишком знаком с Hudson, но TeamCity, безусловно, способен генерировать отчеты о сборке, отображать ход выполнения и т. Д.

...