Puede distribuir compilaciones a evaluadores mediante fastlane , una plataforma de código abierto que automatiza la creación y el lanzamiento de aplicaciones para iOS y Android. Sigue instrucciones simples definidas en un Fastfile
. Después de configurar fastlane y su Fastfile
, puede integrar App Distribution con su configuración de fastlane.
Paso 1. Configurar Fastlane
Para agregar App Distribution a su configuración Fastlane, ejecute el siguiente comando desde la raíz de su proyecto iOS:
fastlane add_plugin firebase_app_distribution
Si el comando le solicita una opción, seleccione la
Option 3: RubyGems.org
.
Paso 2. Autenticarse con Firebase
Antes de poder usar el complemento fastlane, primero debe autenticarse con su proyecto de Firebase de una de las siguientes maneras. De manera predeterminada, el complemento fastlane busca las credenciales de la CLI de Firebase si no se usa ningún otro método de autenticación.
La autenticación con una cuenta de servicio le permite usar el complemento de manera flexible con su sistema de integración continua (CI). Hay dos formas de proporcionar las credenciales de la cuenta de servicio:
- Pase el archivo de clave de su cuenta de servicio a la acción
firebase_app_distribution
. Puede encontrar este método conveniente si ya tiene su archivo de clave de cuenta de servicio en su entorno de compilación. - Configure la variable de entorno
GOOGLE_APPLICATION_CREDENTIALS
para que apunte al archivo de claves de su cuenta de servicio. Es posible que prefiera este método si ya tiene Credenciales predeterminadas de la aplicación (ADC) configuradas para otro servicio de Google (p. ej., Google Cloud).
- En Google Cloud Console, seleccione su proyecto y cree una nueva cuenta de servicio.
- Agregue la función de administrador de distribución de aplicaciones de Firebase .
- Cree una clave json privada y mueva la clave a una ubicación accesible para su entorno de compilación. Asegúrese de mantener este archivo en un lugar seguro , ya que otorga acceso de administrador a la distribución de aplicaciones en su proyecto de Firebase.
- Omita este paso si creó su aplicación después del 20 de septiembre de 2019: en la consola de API de Google, habilite la API de distribución de aplicaciones de Firebase. Cuando se le solicite, seleccione el proyecto con el mismo nombre que su proyecto de Firebase.
Proporcione o localice las credenciales de su cuenta de servicio:
- Para pasar la clave de su cuenta de servicio a la acción
firebase_app_distribution
de su carril, configure el parámetroservice_credentials_file
con la ruta a su archivo JSON de clave privada Para ubicar sus credenciales con ADC, establezca la variable de entorno
GOOGLE_APPLICATION_CREDENTIALS
en la ruta del archivo JSON de clave privada. Por ejemplo:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Para obtener más información sobre la autenticación con ADC, lea Proporcionar credenciales a su aplicación.
- Para pasar la clave de su cuenta de servicio a la acción
Consulte Iniciar sesión con Firebase CLI para obtener instrucciones sobre cómo autenticar su proyecto.
Paso 3. Configure su Fastfile y distribuya su aplicación
- En un carril
./fastlane/Fastfile
, agregue un bloquefirebase_app_distribution
. Utilice los siguientes parámetros para configurar la distribución:parámetros firebase_app_distribution app
Obligatorio solo si su aplicación no contiene un archivo de configuración de Firebase (
GoogleService-Info.plist
) : el ID de aplicación de Firebase de su aplicación. Puede encontrar el ID de la aplicación en Firebase console, en la página Configuración general .app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
La ruta a su archivo
GoogleService-Info.plist
, relativa a la ruta del producto archivado. Establecido enGoogleService-Info.plist
de forma predeterminada.El archivo se usa para obtener el ID de la aplicación de Firebase de su aplicación si no se especifica el parámetro de la
app
.firebase_cli_token
Un token de actualización que se imprime cuando ejecuta la acción de inicio de sesión del complemento (consulte Autenticar con una cuenta de Google , más arriba) o cuando autentica su entorno de CI con Firebase CLI (lea Usar la CLI con sistemas de CI para obtener más información).
service_credentials_file
La ruta al archivo json de su cuenta de servicio de Google. Consulte más arriba cómo autenticarse con las credenciales de la cuenta de servicio .
ipa_path
Reemplaza
apk_path
(obsoleto). Ruta absoluta al archivo IPA que desea cargar. Si no se especifica, fastlane determina la ubicación del archivo desde el carril en el que se generó el archivo.release_notes
release_notes_file
Notas de la versión para esta compilación.
Puede especificar las notas de la versión directamente:
release_notes: "Text of release notes"
O bien, especifique la ruta a un archivo de texto sin formato:
release_notes_file: "/path/to/release-notes.txt"
testers
testers_file
Las direcciones de correo electrónico de los evaluadores que desea invitar.
Puede especificar los evaluadores como una lista de direcciones de correo electrónico separadas por comas:
testers: "ali@example.com, bri@example.com, cal@example.com"
O bien, puede especificar la ruta a un archivo de texto sin formato que contenga una lista de direcciones de correo electrónico separadas por comas:
testers_file: "/path/to/testers.txt"
groups
groups_file
Los grupos de testers a los que desea invitar (consulte Administrar testers ). Los grupos se especifican usando
alias de grupo , que puede buscar en Firebase console.Puede especificar los grupos como una lista separada por comas:
groups: "qa-team, trusted-testers"
O bien, puede especificar la ruta a un archivo de texto sin formato que contenga una lista de nombres de grupos separados por comas:
groups_file: "/path/to/groups.txt"
debug
Una bandera booleana. Puede establecer esto en
true
para imprimir la salida de depuración detallada.
Por ejemplo:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. firebase_app_distribution( app: "1:123456789:ios:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
Para que la compilación esté disponible para los evaluadores, ejecute su carril:
fastlane <lane>
El complemento fastlane genera los siguientes enlaces después de la carga del lanzamiento. Estos enlaces lo ayudan a administrar binarios y garantizar que los probadores y otros desarrolladores tengan la versión correcta:
-
firebase_console_uri
: un vínculo a la consola de Firebase que muestra una única versión. Puede compartir este enlace con otros desarrolladores en su organización. -
testing_uri
: un enlace a la versión en la experiencia del evaluador (clip web de iOS) que permite a los evaluadores ver las notas de la versión e instalar la aplicación en su dispositivo. El probador necesita acceso a la versión para usar el enlace. -
binary_download_uri
: un enlace firmado que descarga e instala directamente el binario de la aplicación (archivo IPA). El enlace caduca después de una hora.
Después de distribuir su compilación, estará disponible en el panel de distribución de aplicaciones de Firebase console durante 150 días. Cuando faltan 30 días para que caduque la compilación, aparece un aviso de caducidad en la consola y en la lista de compilaciones del probador en su dispositivo de prueba.
Los evaluadores que no fueron invitados previamente a probar la aplicación reciben invitaciones por correo electrónico para comenzar. Los probadores existentes reciben notificaciones por correo electrónico de que una nueva compilación está lista para probar. Para obtener información sobre cómo instalar la aplicación de prueba, consulte Configuración como probador . Puede monitorear el estado de cada evaluador para determinar si aceptaron la invitación y si descargaron la aplicación en Firebase console.
(Opcional) Para incrementar automáticamente su número de compilación cada vez que crea una nueva versión en App Distribution, puede usar la acción firebase_app_distribution_get_latest_release
y la acción increment_build_number
. El siguiente código proporciona un ejemplo de cómo incrementar automáticamente su número de compilación:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end
Para obtener más información sobre esta función de complemento Fastlane, consulte Obtener información sobre la última versión de su aplicación .
Paso 4 (Opcional). Gestionar probadores para la distribución.
Puede agregar y eliminar evaluadores de la versión de su aplicación utilizando su archivo Fastfile
o ejecutando acciones de Fastlane directamente. La ejecución de acciones anula directamente los valores establecidos en su Fastfile
.
Una vez que se agrega un probador a su proyecto de Firebase, puede agregarlo a versiones individuales. Los evaluadores que se eliminen de su proyecto de Firebase ya no tendrán acceso a los lanzamientos de su proyecto, pero es posible que conserven el acceso a sus lanzamientos durante un período de tiempo.
Usar Fastfile
# Use lanes to add or remove testers from an app release. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" ) end
# Add or remove testers with the terminal $ fastlane add_testers $ fastlane remove_testers
Ejecutar acciones de vía rápida
fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"
También puede especificar testers usando --file="/path/to/testers.txt
en lugar de --emails
.
Las tareas firebase_app_distribution_add_testers
y firebase_app_distribution_remove_testers
también aceptan los siguientes argumentos:
-
project_name
: Tu número de proyecto de Firebase. -
service_credentials_file
: la ruta a su archivo de credenciales de servicio de Google. -
firebase_cli_token
: token de autenticación para Firebase CLI.
service_credentials_file
y firebase_cli_token
son los mismos argumentos utilizados por la acción de carga.
Paso 5 (Opcional). Obtenga información sobre la última versión de su aplicación
Puede usar la acción firebase_app_distribution_get_latest_release
para obtener información sobre la última versión de su aplicación en App Distribution, incluida la información de la versión de la aplicación, las notas de la versión y el tiempo de creación. Los casos de uso incluyen el aumento automático de la versión y la transferencia de las notas de la versión anterior.
El valor de retorno de la acción es un hash que representa la última versión. Este hash también está disponible mediante lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
. Para obtener más información sobre los campos disponibles en este hash, consulte la documentación de la API REST .
Parámetros
Parámetros firebase_app_distribution_get_latest_release | |
---|---|
app | Obligatorio solo si su aplicación no contiene un archivo de configuración de Firebase ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path | La ruta a su archivo El archivo se usa para obtener el ID de la aplicación de Firebase de su aplicación si no se especifica el parámetro de la |
firebase_cli_token | Un token de actualización que se imprime cuando ejecuta la acción de inicio de sesión del complemento (consulte Autenticar con una cuenta de Google , más arriba) o cuando autentica su entorno de CI con Firebase CLI (lea Usar la CLI con sistemas de CI para obtener más información). |
service_credentials_file | La ruta al archivo json de su cuenta de servicio de Google. Consulte más arriba cómo autenticarse con las credenciales de la cuenta de servicio . |
debug | Una bandera booleana. Puede establecer esto en |
Próximos pasos
Para registrar más dispositivos de forma manual o programática, consulte Registro de dispositivos iOS adicionales .
Conozca las prácticas recomendadas para distribuir aplicaciones de Apple a evaluadores de control de calidad mediante CI/CD y fastlane .