Есть ли инструмент для кросс-платформенной непрерывной интеграции (C++ Win32 и Linux)

Это действительно вопрос, который вы задаете программе, когда она заканчивается.

Случай 1:

Вы потерпели неудачу?

Случай 2:

Вы прошли?

В первом случае «хорошая программа» вернет false (он же ноль)

Во втором случае «хорошая программа» вернет true (он же не ноль).

Консенсус заключается в использовании варианта 1, т. Е. «Вы потерпели неудачу?». Поэтому безотказная программа возвращает ноль, чтобы сказать «Я не ошибся».

Преимущество этого подхода заключается в том, что ненулевые значения могут использоваться для выражения различных видов отказов, в то время как ноль всегда означает «нет отказов»

.
15
задан skaffman 26 September 2010 в 09:28
поделиться

4 ответа

Вы можете попробовать Хадсон или Дженкинс . Хотя в первую очередь для проектов на основе Java, вы можете настроить их в соответствии со своими потребностями. Они легко интегрируются с SVN, плюс вы можете использовать функцию многоступенчатой ​​сборки для вызова ваших (существующих) командных файлов и дальнейшей обработки.

11
ответ дан 1 December 2019 в 02:37
поделиться

TeamCity может запускать агенты сборки на разных платформах, например, один агент сборки в Windows и один в Linux. Доступна конфигурация, позволяющая указать, каким агентам сборки будет использоваться каждая сборка.

TeamCity не бесплатна, как в речи, но есть бесплатная, как в пиве, версия (Professional Edition) с некоторыми ограничениями (3 агента сборки , 20 пользователей, 20 конфигураций сборки).

4
ответ дан 1 December 2019 в 02:37
поделиться

Buildbot определенно является одним из инструментов, на который стоит обратить внимание - http://buildbot.net/trac . Центральный сервер, который контролирует все проекты и уведомляет агентов о новых задачах, поэтому вы можете создавать любую среду, которая вам действительно нужна, без настройки среды кросс-компиляции.

Вы также можете посмотреть круиз-контроль @ http://cruisecontrol.sourceforge.net . Хотя похоже, что он больше ориентирован на создание java, с ним можно сделать довольно много. У меня есть установка, которая собирает двоичные файлы linux arm и i386 и упаковывает их в debs, а также поддерживает репозиторий debian на основе результатов сборки - запускает модульные тесты и все виды прочего в коде.

Но я действительно хотел сказать, что в основном , почти все программное обеспечение CI-сервера, которое я использовал, в основном просто "планировщики задач"

8
ответ дан 1 December 2019 в 02:37
поделиться

Для этого мы используем Zed Builds and Bugs , и это очень хорошо работает для нас. Есть один центральный сервер, на котором вы настраиваете определение сборки. Затем для каждого «шага» полной сборки вы можете определить, на каком сервере этот «шаг» будет выполняться. У нас есть шаги, которые выполняются в: Win32, Linux64, Linux32, HP, AIX, Solaris и даже шаги, которые распространяются по всему миру для удаленного выполнения.

Каждый из шагов может быть настроен для параллельного или последовательного выполнения, поэтому когда HP, AIX, Solaris и Linux делают одно и то же, все они могут работать параллельно, и последующая программа Win32 будет ждать, пока все не завершится, прежде чем продолжить.

Вы также можете настроить дочерние процессы сборки и затем запустите их с "мастера"

4
ответ дан 1 December 2019 в 02:37
поделиться
Другие вопросы по тегам:

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