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

Непрерывная интеграция для Android через TeamCity. Предпочтительные инструменты?

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

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

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

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

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

4b9b3361

Ответ 1

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

Maven - для управления циклом build/unit-test/integration-test/deploy Хадсон - для непрерывного интегрирования

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

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

Ответ 2

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

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

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

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

Удачи!