Подтвердить что ты не робот

Какую автоматическую систему сборки используют разработчики Mac?

моя команда в настоящее время использует buildbot для автоматизации ночных и непрерывных сборок и регрессионных тестов. Для сборки и модульных тестов строитель просто вызывает script, который синхронизирует источники с p4, а затем запускает xcodebuild. Тесты регрессии также запускаются оболочкой script и сами являются комбинациями сценариев оболочки и AppleScripts. Все сборки выполняются в одной системе, но затем триггеры buildbot запускаются на нескольких компьютерах Mac, с разной архитектурой и комбинациями ОС. То, что мне нравится в buildbot, - это автоматические триггеры (поэтому тесты выполняются только в том случае, когда и когда сборка завершается успешно) и отчет, включая просмотр водопада, для просмотра общего состояния.

Однако я вижу и ряд проблем. Процесс "master", который координирует сборки, либо протекает, либо просто имеет огромный рабочий набор, что означает, что он потребляет пару гигабайт памяти. Иногда сетевые проблемы означают, что раб будет потерян; вместо того, чтобы повторять попытку позже, это просто закончит сборку. Фактически, если подчиненное устройство должно быть запущено для зависимой сборки, оно не сможет выполнить первую сборку после того, как она была успешно завершена.

Итак, что вы используете для автоматизации ваших Xcode-сборок и модульных тестов? Как эти решения работают на вас? Что бы вы рекомендовали?

4b9b3361

Ответ 1

Я использую TeamCity в среде Windows, но я считаю, что он будет работать на Mac и имеет агенты сборки xcode.

Другой подобный вопрос здесь.

Ответ 2

Наша команда использует Hudson с script, который преобразует вывод Unit Test из XCode в формат NUnit.

Ответ 3

Я знаю, что это старый вопрос, но для тех, кто использует TFS для хранения своих проектов Xcode, я создал настраиваемую операцию сборки, чтобы упростить автоматизацию сборки Xcode через TFS. Код размещен на Codeplex здесь: http://tfsxcodebuild.codeplex.com/.

Надеюсь, что кто-то сочтет это полезным!

Ответ 4

Мы разработали то, что использовало все файлы журнала памяти - старый buildbot вечно сохраняет все журналы и сохраняет их в памяти (возможно, до перезапуска).

Более новый buildbot может быть настроен на сохранение фиксированного объема истории.

Файлы журнала сборки Buildbot должны быть ограничены по размеру, чтобы избежать проблемы.

Ответ 5

Я использую XcodeBuilder ту часть CruiseControl. Конечно, это помогает мне это написать.:)

Но я использовал его в проекте с несколькими проектами для iPhone (Surf), который продается в магазине приложений.

Ответ 6

Теперь, когда он три года спустя, у меня есть свой собственный ответ, чтобы ответить на этот вопрос. Я использую Jenkins, в основном для плагинов, которые он предоставляет. Он имеет плагин для построения целей в проектах Xcode (или схем в рабочих пространствах). Там есть плагин для запуска статического анализатора Clang. Он взаимодействует с моей системой отслеживания ошибок, он автоматически добавит сборки к Testflight тоже.