Как загрузить APK из Jenkins / Hudson в Play Store?

Я реализовал непрерывный интеграционный трубопровод с использованием Jenkins, но в качестве последнего шага я хочу, чтобы Jenkins развернул / выгрузил подписанный файл APK в Google Play Store и AndroidPit. Я искал плагины Дженкинса / Хадсона, но нашел только два: один для Аппалузы и один для Зубиума.

У меня есть рабочая учетная запись разработчика как в Google Play, так и на AndroidPit, и вы можете вручную загрузить APK, который производит Jenkins. Но мой вопрос: кто-нибудь знает способ научить Дженкинса (например, через сценарий оболочки?) Загрузить APK в упомянутые магазины приложений?

Solutions Collecting From Web of "Как загрузить APK из Jenkins / Hudson в Play Store?"

Существует плагин Google Play Android Publisher для Jenkins, который использует API публикации Google Play , объявленный в Google I / O 2014.

Google также выпустила библиотеки Java и Python, чтобы помочь использовать API.

Для получения дополнительной информации об API см. Также:
http://android-developers.blogspot.com/2014/07/grow-with-google-play-scaled-publishing.html

Я могу говорить только в Play Store Google. Есть способ, но будьте осторожны, это не красиво, вам нужно закодировать свое решение. Я сейчас пишу диссертацию бакалавра для решения этой проблемы – «Непрерывная доставка для приложений для Android». Мое решение – мое, это означает, что я не претендую на то, чтобы иметь идеальное решение, но могу сказать, что это довольно рабочий прототип.

Я узнал следующее:

  • Первое решение – нет. Google предлагает API Play Store , но ему не хватает возможности загружать файлы. Кажется, что они уже подумывали о создании такого API, но он предлагает только управление биллингами In-App

  • Второе решение – использовать библиотеку Apache HttpComponents, которая позволяет реализовать собственный клиент для консоли разработчика Google Play, но у HttpClient отсутствует JavaScript-интерпретатор … Несколько способов реализовать или добавить один. Но, конечно, не самый простой способ.

  • Третьим решением, над которым я работаю, является использование Selenium Web Browser Automation Framework. Поэтому в основном я создаю объекты PageObjects из этих страниц и диалогов в Play Маркете. После этого вы можете создать некоторую фабрику для сохранения «патчей» контроля этих объектов PageObjects.

Используя их, у вас есть два варианта, насколько я могу видеть, например, объекты WebDriver, которые используют «невидимый» процесс браузера, например FF или Chrome, а другой, который я использую, – это ChromeDriver, который использует видимый процесс браузера для выполнения действий пользователя. И не забывайте иметь обработчики исключений, которые просматривают веб-страницу для появления ошибок во время использования.

Из-за возможных изменений в дизайне от Google есть много ошибок, которые позволяют вашему программному обеспечению сломаться. Но есть некоторые способы справиться с этим. =) И создайте XML, содержащий всю полезную информацию о приложении, которая пригодится, когда переходите к следующему шагу.

Вы можете создать плагин Maven . Это можно загрузить на сервер непрерывной интеграции. Надеюсь, я кое-что тебе помогу.

Я считаю, что он не включен в API PlayStore в настоящее время, чтобы снизить нагрузку на систему и избежать злоупотреблений.

Я считаю, что мы увидим это в плагине gradle и в IDE в будущем. Пока мы ждем, что google решит открыть API, вот решение, которое является таким порогом, что я просто должен был предложить его:

Если у вас есть GUI, используйте автоматизацию графического интерфейса для последнего шага.

Поскольку Google Play выпустил API загрузки, был добавлен плагин:

https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=73533143

Я еще не пробовал, но похоже, что это именно то, что мы искали.

Существуют и другие плагины, которые утверждают, что делают то же самое (спасибо @mdt)

Плагин Google Play Android Publisher для Дженкинса – хороший. Однако он не поддерживает загрузку описаний и скриншотов (по крайней мере пока).

Я нашел достойный плагин Gradle, названный Gradle Play Publisher . Он поддерживает загрузку apk, обновление метаданных и загрузку скриншотов. И для настройки требуется всего несколько шагов.