Prácticas recomendadas a fin de distribuir apps para Apple a verificadores de control de calidad con CI/CD y fastlane

En este documento, se presentan las prácticas recomendadas para usar Firebase App Distribution y fastlane a fin de que los flujos de trabajo de prueba previos al lanzamiento de tu plataforma de Apple sean sustentables y repetibles en un entorno de CI/CD. Si bien este documento se enfoca en fastlane, también describimos las soluciones disponibles a través de Firebase console, Firebase CLI y la API pública de Firebase App Distribution para brindarte más flexibilidad. También describimos los límites de las versiones y de los verificadores para que puedas planificar por adelantado una experiencia óptima.

Si también usas Android, consulta Prácticas recomendadas a fin de distribuir apps para Android a verificadores de control de calidad con CI/CD.

Antes de comenzar

Antes de implementar las prácticas recomendadas de este documento, asegúrate de habilitar App Distribution en Firebase console para cada app. Si no lo haces, verás el error 404.

Para habilitar App Distribution, sigue estos pasos:

  1. Abre la página App Distribution de Firebase console.

  2. Selecciona tu app para iOS.

  3. Haz clic en Get Started.

Automatiza el flujo de trabajo de pruebas previo al lanzamiento con CI/CD

Si quieres automatizar la compilación y el lanzamiento de apps para los verificadores con CI/CD, te recomendamos que uses fastlane. Otra opción es usar Firebase CLI, que te permite acceder a una amplia variedad de productos de Firebase.

Usa fastlane

Integra App Distribution en la canalización de CI/CD con fastlane, una herramienta de código abierto que automatiza la compilación y el lanzamiento de apps para iOS y Android. Si compilas las versiones más recientes y las distribuyes a los verificadores automáticamente, te aseguras de que siempre tengan la versión de prueba más actualizada de la app.

Si quieres aprender a integrar App Distribution en fastlane, consulta Distribuye apps para iOS a los verificadores con fastlane. También, puedes revisar un codelab en el que se explica el proceso de integración de fastlane.

Usa Firebase CLI

Usa las herramientas de Firebase CLI que proporciona App Distribution para distribuir compilaciones a los verificadores de manera programática. Puedes especificar verificadores y notas de la versión para una compilación.

Distribuye la compilación de iOS test.ipa más reciente. Para ello, especifica el ID de la app de Firebase y, opcionalmente, agrega una nota de la versión y un archivo con los correos electrónicos de los verificadores:

firebase appdistribution:distribute test.ipa  \
    --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

Si quieres obtener más información sobre el uso de Firebase CLI a fin de automatizar tus compilaciones, consulta Distribuye apps para iOS a los verificadores con Firebase CLI.

Usa credenciales de servicio para realizar la autenticación

Usa el complemento de fastlane de App Distribution o Firebase CLI con cuentas de servicio para que se aprovechen las credenciales predeterminadas de la aplicación y puedas administrar la CI. Una cuenta de servicio es un tipo de Cuenta de Google que representa las aplicaciones en lugar de usuarios. Tu sistema de CI puede usar cuentas de servicio para ejecutar tus cargas de trabajo de App Distribution. Para obtener más información, consulta Realiza la autenticación con una cuenta de servicio.

Si usas la federación de identidades para cargas de trabajo, puedes generar y usar un archivo de configuración de credenciales en lugar de una clave de cuenta de servicio.

Ten en cuenta los límites de versiones

App Distribution admite un máximo de 1,000 versiones por app. Esto significa que, cuando se supera este límite, App Distribution borra automáticamente las versiones más antiguas que superan el límite. Para aprender a administrar los límites de versiones, consulta ¿Durante cuánto tiempo están disponibles las versiones de las apps?

Agrega el mismo conjunto de verificadores a múltiples versiones

Si quieres agregar una gran cantidad de verificadores a tus versiones, usa la función de administración masiva de verificadores de App Distribution.

Te recomendamos que uses grupos para agregar los mismos verificadores a múltiples versiones. Un grupo actúa como una lista de control de acceso. Cuando quitas a un verificador de un grupo, este pierde el acceso a todas las versiones distribuidas en ese grupo. Para obtener más información, consulta Agrega y quita verificadores de un grupo.

Si tienes muchos verificadores que administrar, puedes agregar y borrar verificadores de forma masiva con Firebase console. Para automatizar los procesos de agregar y quitar verificadores, usa Firebase CLI, fastlane o la API pública de Firebase App Distribution.

Ten en cuenta los límites de verificadores

App Distribution limita la cantidad de verificadores que puedes agregar a un proyecto de Firebase o a un grupo de App Distribution. Si superas estos límites, no podrás distribuir la app a verificadores adicionales. A fin de obtener más información sobre el máximo de verificadores, consulta ¿Hay límites para agregar verificadores a mi app?

Administra y agrega automáticamente nuevos dispositivos iOS de verificadores

Con el fin de facilitarte el registro de dispositivos adicionales de prueba para iOS, App Distribution te ayuda a administrar los dispositivos de verificadores de iOS en el portal para desarrolladores de Apple, ya que te informa sobre los dispositivos iOS nuevos de los verificadores mediante correo electrónico o archivos CSV. Para obtener más información, consulta Importa verificadores desde archivos CSV. También puedes exportar dispositivos nuevos con fastlane de manera programática.

A fin de aprender a configurar una acción de fastlane que quite automáticamente los UDIDs, los agregue a la consola para desarrolladores de Apple y, luego, vuelva a compilar la app y a distribuirla, consulta Distribuye tus compilaciones para iOS previas al lanzamiento más rápido con App Distribution y fastlane.

Permite que los posibles verificadores se registren automáticamente para realizar pruebas

Para facilitar la distribución de la app a más verificadores, te recomendamos que uses vínculos de invitación. Un vínculo de invitación es una URL única que permite a los verificadores ingresar sus direcciones de correo electrónico a fin de registrarse para probar una app. Permitir que los usuarios se agreguen a tu lista de verificadores de apps es una forma sencilla de aumentar tu base de pruebas interna.

Los casos de uso de los vínculos de invitación incluyen programas de pruebas internas de la empresa, organizaciones con grandes equipos de QA y grupos de desarrolladores que desean que los clientes individuales puedan controlar el acceso de los verificadores.

Te recomendamos que crees un vínculo de invitación para un grupo. Los verificadores que se registren con el vínculo de invitación se agregarán automáticamente a las versiones posteriores.

Para obtener más información, consulta Crea vínculos de invitación y Agrega y quita verificadores de un grupo.

Asegúrate de que los verificadores estén probando la versión correcta

Cuando se sube una nueva versión, los verificadores reciben una notificación por correo electrónico. Para complementar esta notificación, puedes usar las siguientes funciones (vínculos de la versión y alertas en la app) y asegurarte de que los verificadores estén probando la versión específica de la app que te interesa:

  • Vínculos de la versión: Usa esta función cuando quieras compartir una versión específica con los verificadores. Si quieres aprender a usar los vínculos de la versión, consulta Distribuye apps para iOS a los verificadores con Firebase console. Estos vínculos también están disponibles con nuestras herramientas de línea de comandos (CLI) de Firebase y fastlane para usar con tus herramientas de automatización de compilación.

  • Alertas en la app: Usa estas alertas cuando quieras asegurarte de que los verificadores estén probando la versión más reciente de tu app. Si integras el SDK de Firebase App Distribution para iOS, puedes mostrar alertas directamente en la app a los verificadores cuando haya nuevas compilaciones disponibles. Para aprender a agregar alertas en la app, consulta Notifica a los verificadores sobre compilaciones nuevas.

Quita automáticamente el acceso a los verificadores que abandonen la empresa

Una vez que el flujo de pruebas internas de CI/CD esté en funcionamiento, debes asegurarte de que las personas que abandonan la empresa ya no tengan acceso a las compilaciones internas. Para ayudarte a administrar el acceso de los verificadores a las compilaciones, App Distribution proporciona las siguientes opciones: