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

goal: автоматизация процСсса тСстирования ΠΈ дСплоя ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сборку ΠΈ доставку ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ Π² срСдства дистрибуции для тСстировщиков ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² (firebase app-distribution) Ρ‚Π°ΠΊ ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² сторы. Π’Π°ΠΊ ΠΆΠ΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ вопрос нСобходимости OS X ΠΆΠ΅Π»Π΅Π·Π° для сборки Π±ΠΈΠ»Π΄ΠΎΠ² ΠΏΠΎΠ΄ IOS ΠΈ вопрос доступа Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊ аппстору ΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌ подписи.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ: https://olo.live

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ сцСнариСв: Π― ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ дСлаю Π²Π΅Ρ‚ΠΊΡƒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ. Π― ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ дСлаю ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² свою Π²Π΅Ρ‚ΠΊΡƒ ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. CI осущСствляСт сборку прилоТСния ΠΏΠΎΠ΄ всС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΏΡƒΡˆΠΈΡ‚ Π² app-distribution, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±ΠΈΠ»Π΄Ρ‹ сразу доступны ΠΌΠ½Π΅ ΠΈ тСстировщику (врСмя ΠΎΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΄ΠΎ установки Π±ΠΈΠ»Π΄Π° Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ Π΄ΠΎ 10ΠΈ ΠΌΠΈΠ½ΡƒΡ‚). ВСстировщик провСряСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Код сливаСтся Π² мастСр Π²Π΅Ρ‚ΠΊΡƒ. Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· мастСр Π²Π΅Ρ‚ΠΊΠΈ публикуСтся Π² сторы ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π°. Π― ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽ со сторами для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Ρƒ мСня подходят Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ app-distribution ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ сторам.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ:

  • ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ Π±ΠΈΠ»Π΄ΠΎΠ², Π±ΠΈΠ»Π΄ CI ΠΎΠ½ являСтся воспроизводимым (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ APK скинутой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π² Ρ‡Π°Ρ‚Π΅)
  • сборка ΠΏΠΎΠ΄ всС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ сразу β€” ΠΎΠ΄ΠΈΠ½ Π±ΠΈΠ»Π΄ ΠΏΠΎΠ΄ CI собираСт ΠΈ Android ΠΈ iOS (Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Flutter, ReactNative ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… кроссплатформСнных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ)
  • отсутствиС нСобходимости ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ/ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ доступ ΠΊ Mac ΠΆΠ΅Π»Π΅Π·Ρƒ для сборки ΠΏΠΎΠ΄ IOS. Π‘Π±ΠΎΡ€ΠΊΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ Π² Π΄ΠΎΠΊΠ΅Ρ€Π΅ Π½Π° сСрвСрС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сущСствСнно быстрСС ΠΌΠ°ΠΊΠ°)
  • нСзависимыС сборки Π½Π° Π²Π΅Ρ‚ΠΊΠ°Ρ… - ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ тСстировщик ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΠΈΠ»Π΄Π°ΠΌΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² (фактичСски ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ)
  • Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для сторов Π² Π³ΠΈΡ‚Π΅ - ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹, описания ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ настройки хранятся Π² git ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ избавляСт ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ поиска ΠΊΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ€ΡƒΠΊΠ°ΠΌΠΈ Π² Π²Π΅Π± ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°ΠΆΠ°Π»
  • Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ доступа ΠΊ сСртификатам ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ доступа ΠΊ сторам, Ρ‡Ρ‚ΠΎ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡƒ рисков бСзопасности

ЀактичСски Π½Π°Π±ΠΎΡ€ Π½Π°ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ позволяСт ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ ΠΊΠ°ΠΊ Π½Π° Π²Π΅Π±Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΆΠ΅ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΠΈ: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅