site: https://firebase.google.com/docs/app-distribution

goal: автоматизація процесу тестування та деплою мобільних додатків у процесі розробки.

Дозволяє автоматизувати збірку та доставку додатків як у засоби дистрибуції для тестувальників і розробників (firebase app-distribution), так і прямо в магазини додатків. Також вирішує питання необхідності OS X обладнання для збірки білдів під IOS та питання доступу розробників до App Store та ключів підпису.

Приклад реалізації: https://olo.live

Приклади сценаріїв: Я як розробник створюю гілку для вирішення завдання. Я як розробник роблю коміт у свою гілку, пов'язану з завданням. CI здійснює збірку додатка під всі платформи та пушить в app-distribution, звідки білди одразу доступні мені та тестувальнику (час від коміту до встановлення білда на телефон до 10 хвилин). Тестувальник перевіряє додаток на різних платформах. Код зливається у майстер гілку. Збірка з майстер гілки публікується в сторінки як чернетка нового релізу. Я як розробник не взаємодію зі сторінками для публікації, ключі, які є у мене, підходять тільки до app-distribution і не мають відношення до сторінок.

Проблеми, які вирішуються:

  • повторюваність білдів, білд CI є відтворюваним (на відміну від APK, скинутого розробником у чаті)
  • збірка під всі платформи одразу — один білд на CI збирає і Android, і iOS (що зручно для Flutter, ReactNative та інших кросплатформних рішень)
  • відсутність необхідності купувати і налаштовувати/підтримувати віддалений доступ до Mac обладнання для збірки під IOS. Збірки здійснюються в Docker на сервері, який значно швидший за Mac)
  • незалежні збірки на гілках — під час роботи команди тестувальник може легко переключатися між білдами різних розробників (фактично переключатися між гілками)
  • зберігання інформації для сторів у git — скріншоти, описи та інші налаштування зберігаються в git проекту, що позбавляє від проблеми пошуку хто що вручну в веб панелі натиснув
  • розробники не мають доступу до сертифікатів або взагалі не мають доступу до сторів, що зменшує ризики безпеки

Фактично набір наших практик і рішень дозволяє прийти до такого ж підходу, як на вебі використовується, але вже для мобільних додатків.