У меня есть приложение с открытым исходным кодом, и оно работает в Windows, Linux и Macintosh (оно написано на C++ и создано с помощью gcc). Я тестировал его только на нескольких разных версиях Linux, поэтому я не знаю, компилируется ли он и работает ли он на всех разных версиях Linux. Есть ли место, где я могу загрузить свой код и протестировать его на множестве разных систем, таких как другие разновидности Linux и такие вещи, как Solaris, FreeBSD и другие операционные системы?
Было бы здорово, если бы я мог напрямую подключиться к моему репозиторию svn и получить последний код, а затем отправить мне по электронной почте любые сгенерированные ошибки компиляции и с какой ОС возникла проблема.
Я был бы счастлив просто узнать, что он компилируется, поскольку это приложение на основе графического интерфейса, поэтому я не ожидал, что оно действительно будет запущено и протестировано.





Взгляните на Служба сборки OpenSuSE, он включает довольно широкий спектр дистрибутивов Linux (не только SuSE / OpenSuSE).
Есть несколько вариантов, но, похоже, не так много (каких-либо?) Бесплатных сервисов, подобных этой, что неудивительно, учитывая количество требуемых усилий и ресурсов. Sourceforge раньше управлял компилируемой фермой, подобной той, которую вы описываете, но закрылся год назад или около того. Вы можете изучить некоторые из следующих вещей. Если вы склонны платить за услугу или самостоятельно, то некоторые из этих ссылок могут быть полезны. Если вы просто ищете бесплатную ферму компиляции / сборки с открытым исходным кодом, которая охватывает несколько платформ, похоже, вам в значительной степени не повезло.
Упомянутый Тед первым, стоит повторить - в настоящее время только для Linux, но поддерживает ряд дистрибутивов.
В основном ориентирован на тестирование сборок для GCC, но также поддерживает несколько других проектов, таких как coLinux, BTG BitTorrent client, ClamAV и другие. Может быть, вы можете воспользоваться преимуществами, хотя я не вижу, какие ОС находятся в ферме компиляции (содержит как минимум Linux и Solaris, судя по примечаниям к странице).
BuildLocker - это веб-решение для непрерывной интеграции проектов Java и .NET. BuildLocker - это виртуальная выделенная машина для сборки, которая помогает командам находить ошибки на ранних этапах цикла разработки, экономя время и деньги. BuildLocker управляет запланированными автоматическими сборками исходного кода в вашем репозитории ProjectLocker Source Control. Просто проверьте исходный код, и запланированные сборки подтвердят целостность кода. BuildLocker может даже запускать автоматические тесты и предупреждать вас в случае сбоя теста.
CruiseControl - это основа для непрерывного процесса сборки. Он включает, помимо прочего, плагины для уведомлений по электронной почте, Ant и различные инструменты управления версиями. Предоставляется веб-интерфейс для просмотра сведений о текущей и предыдущей сборках.
Интересное примечание: CruiseControl фактически используется командой разработчиков StackOverflow для автоматического тестирования сборки, согласно подкасту.
Hudson отслеживает выполнение повторяющихся заданий, таких как создание программного проекта или задания, выполняемые cron.
Упомянутый в другом связанном вопросе, поддерживает только проекты Ruby и в настоящее время находится в частной бета-версии. Однако, если ваш проект написан на Ruby, возможно, стоит присмотреться к RunCodeRun.
Доступно множество систем непрерывной интеграции. Эта страница - попытка провести беспристрастное сравнение как можно большего числа из них.
С точки зрения программного обеспечения, есть также buildbot (сайт проекта sourceforge), который можно использовать для настройки вашего собственного сервера сборки / непрерывной интеграции. Это было предложено и считается используемым для разработки gcc (как упоминалось на вики-странице фермы компиляции gcc, опубликованной выше).
Если вы планируете коммерческое использование своего продукта с открытым исходным кодом, вы можете рассмотреть наш Parabuild. Это позволяет вам запускать набор сборок на нескольких платформах и машинах параллельно. Сборка будет успешной только в том случае, если все сборки для конкретной платформы будут успешными.
Ссылка на BuildLocker не работает. Как и матрица функций CI.