Непрерывная интеграция для Android через TeamCity.Предпочитаемые инструменты? - PullRequest
18 голосов
/ 22 апреля 2011

Наша команда является новичком в разработке как для Android, так и для Java (изначально мы пришли из C ++), поэтому наши знания об инструментах сборки для Java довольно скудны.

Существует несколько инструментов для сборки, которые можно использовать для автоматизации сборки, и наиболее интересными из них были ant и maven. И хотя существует множество статей по автоматизации сборки, я не нашел ни одного подробного руководства по автоматизации процесса интеграции для приложений Android.

Я был бы очень признателен, если бы вы могли указать предпочитаемый вами инструмент сборки для Android и объяснить или дать любые ссылки, объясняющие процесс непрерывной интеграции для приложений Android (которые охватывают не только сборку приложения, но и запуск тесты под эмулятором).

Большое спасибо за ваше время и помощь.

P.S .: Мы используем Team City в качестве сервера непрерывной интеграции.

Ответы [ 2 ]

8 голосов
/ 11 мая 2011

Мы создаем нашу платформу непрерывной интеграции для Android, используя следующее:

Maven - для управления циклом сборки / юнит-теста / интеграции-тестирования / развертывания Hudson - для непрерывной интеграции

Team City также будет запускать проекты Maven - довольно просто настроить агент TeamCity для запуска конкретной цели Maven, например, mvn integration-test - агент может работать на ПК с эмулятором Android или подключенным к нему реальным устройством Android.

В прошлом у меня был целый банк агентов TeamCity, тестирующих разные устройства. Например, если у вас есть 5 устройств Android, подключенных к агенту, вы можете настроить конвейер сборки TeamCity для запуска интеграционных тестов (легко контролируемых через Maven) на ВСЕХ 5 устройствах и объявлять PASS только при их прохождении на всех 5.

2 голосов
/ 06 мая 2011

Ant (http://ant.apache.org/) - это в значительной степени де-факто стандарт для создания Java-проектов. Он очень прост в изучении языка сценариев и может даже использоваться для развертывания приложения для нескольких целей.

Для автоматизированного тестирования большинство разработчиков java используют jUnit (http://www.junit.org/).. Хотя тестирование jUnit не такое простое, как в тестовой среде Ruby on Rails, тестирование допускает разработку через тестирование.

Maven (http://maven.apache.org/what-is-maven.html) - это скорее метапрограмма, которая может использовать ant-скрипты и запускать ваши тесты jUnit. Правда, ant также можно использовать для запуска тестов jUnit, но Maven хорошо справляется со сборкой всего этого вместе, а также предоставляетдополнительная функциональность (пример: возможность автоматически находить внешние зависимости и загружать их).

Хотя я не знаком с TeamCity, я был бы удивлен, если бы у него не было способа интеграции с ant / maven / junit.

Удачи!

...