Серверная ферма, настроенная для удаленной компиляции компьютерных программ
Компилирующая ферма — это ферма серверов , набор из одного или нескольких серверов , который был настроен для удаленной компиляции компьютерных программ по разным причинам. Использование компилирующей фермы включает:
- Кроссплатформенная разработка : при написании программного обеспечения , работающего на нескольких архитектурах процессоров и операционных системах , для каждого разработчика может быть нецелесообразноиметь собственную машину для каждой архитектуры — например, одна платформа может иметь дорогой или малоизвестный тип ЦП . В этом сценарии ферма компиляции полезна как инструмент для разработчиков для сборки и тестирования своего программного обеспечения на общем сервере, работающем на целевой операционной системе и ЦП. Фермы компиляции могут быть предпочтительнее кросс-компиляции , поскольку кросс-компиляторы часто сложно настраивать, а в некоторых случаях компиляция возможна только на целевой платформе, что делает кросс-компиляцию невозможной.
- Тестирование кросс-платформенной непрерывной интеграции : в этом сценарии каждый сервер имеет различную архитектуру процессора или работает под управлением другой операционной системы; скрипты автоматически создают последнюю версию исходного дерева из репозитория контроля версий . Одна из трудностей кросс-платформенной разработки заключается в том, что программист может непреднамеренно внести ошибку, из-за которой программное обеспечение перестанет функционировать на платформе ЦП/ОС, отличной от той, которую они используют. Используя кросс-платформенную ферму компиляции, такие ошибки можно выявить и исправить.
- Распределенная компиляция : для создания пакетов программного обеспечения обычно требуются операции, которые можно выполнять параллельно (например, компиляция отдельных файлов исходного кода). Используя ферму компиляции, эти операции можно выполнять параллельно на отдельных машинах. Примером программы, которую можно использовать для этого, является distcc .
Одним из примеров фермы компиляции была услуга, предоставляемая SourceForge до 2006 года. Ферма компиляции SourceForge состояла из двенадцати машин с различными архитектурами компьютеров, работающих под управлением различных операционных систем , и была предназначена для того, чтобы позволить разработчикам тестировать и использовать свои программы на различных платформах перед их выпуском для публики. После того, как скачок напряжения уничтожил несколько машин [1], она перестала работать в 2006 году и была официально прекращена [2] в феврале 2007 года.
Другие примеры:
- Ферма компиляции GCC https://gcc.gnu.org/wiki/Compile_farm/CompileFarm
- Служба сборки OpenSUSE
- Служба отчетов FreeBSD , которая позволяет разработчикам пакетов тестировать собственные изменения на различных версиях и архитектурах.
- Ферма сборки Launchpad https://launchpad.net/builders
- У Mozilla есть ферма сборки, но она не является публичной https://wiki.mozilla.org/ReleaseEngineering
- У Debian есть ферма сборки https://buildd.debian.org/
- OpenCSW сборочная ферма для Solaris x86 и Sparc
Ссылки
- ^ "SourceForge.net". sitedocs.sourceforge.net . Архивировано из оригинала 19 сентября 2008 г.
- ^ Smørgrav, Dag-Erling (20 мая 2007 г.). «Конец SourceForge, каким мы его знаем». Может содержать следы болтов . Архивировано из оригинала 18 мая 2018 г. Получено 18 мая 2018 г. фермы компиляции больше нет .
SourceForge прекратил ее работу в феврале без предупреждения