Usa Firebase Test Lab con sistemas de integración continua

Puedes usar Firebase Test Lab cuando desarrolles tu app con un sistema de integración continua (CI). Los sistemas de integración continua te permiten compilar y probar automáticamente tu app cada vez que verifiques actualizaciones en el código fuente de la app.

Cómo usar Firebase Test Lab con Jenkins CI

Esta sección describe cómo usar Test Lab con Jenkins CI.

Requisitos

Completa los siguientes pasos antes de usar Firebase Test Lab con Jenkins:

  1. Configura gcloud. Sigue las instrucciones del documento Cómo usar Firebase Test Lab desde la línea de comandos de gcloud para crear un proyecto de Firebase y configurar tu entorno local del SDK de Google Cloud.
  2. Crea una cuenta de servicio. Las cuentas de servicio no están sujetas a verificaciones de spam ni solicitudes de captcha, que podrían bloquear tus compilaciones de CI. Crea una cuenta de servicio con una función de Editor en Google Cloud Platform Console.
  3. Habilita las API obligatorias. Después de acceder con la cuenta de servicio, realiza lo siguiente: en la página de la biblioteca de API de Google Developers Console, habilita las API de Google Cloud Testing y Cloud Tool Results. Para ello, ingresa los nombres de las API en el cuadro de búsqueda de la parte superior de la consola y, luego, haz clic en Habilitar API en la página de descripción general de esa API.

Instala y configura Jenkins

Puedes instalar y configurar Jenkins CI en Linux o Windows. Ciertos detalles de esta guía son específicos de la instalación y la ejecución de Jenkins CI en Linux, incluido el uso de barras (/) en rutas de acceso a archivos.

Para descargar e instalar Jenkins en una computadora en la que se ejecuta Linux o Windows, sigue las instrucciones que aparecen en Instalación de Jenkins. Después de instalar Jenkins, sigue las instrucciones para iniciar y acceder a Jenkins con el fin de completar la instalación y acceder al panel de control de Jenkins.

Configura las opciones de seguridad global

Jenkins no tiene la autenticación del usuario ni el control de acceso configurados cuando se instala por primera vez. Antes de usar Jenkins con Firebase Test Lab, configura las opciones de seguridad global para aplicar el control de acceso y autenticar usuarios.

Para configurar las opciones de seguridad global

  1. Navega hasta el panel de control de Jenkins en tu servidor. Para hacerlo, navega a http://<servername>:8080; <servername> es el nombre de la computadora donde instalaste Jenkins.
  2. En el panel de control de Jenkins, haz clic en Manage Jenkins y luego haz clic en Configure Global Security.
  3. En la página Configure Global Security, haz clic en Enable security y luego haz clic en Save.

A fin de obtener más información sobre la configuración de seguridad para Jenkins, consulta Seguridad rápida y simple, Configuración de seguridad estándar y Cómo proteger Jenkins.

Cómo crear un proyecto en Jenkins

A continuación, crea un proyecto para ejecutar pruebas de integración continua de tu app con Firebase Test Lab.

Para crear un proyecto en Jenkins

  1. Navega hasta el panel de control de Jenkins en tu servidor. Para hacerlo, navega a http://<servername>:8080; <servername> es el nombre de la computadora donde instalaste Jenkins.
  2. En el panel de control de Jenkins, haz clic en New Item.
  3. Ingresa un nombre para tu proyecto en el campo Item name:
    • Selecciona Freestyle project para crear un proyecto que use una configuración de compilación única.
    • Selecciona Build multi-configuration project para crear un proyecto que se ejecute en varias configuraciones de compilación diferentes. Si planeas compilar tu app con una variedad de configuraciones de compilación (varias configuraciones regionales, varios niveles de API de Android, etc.), la mejor opción es un proyecto con múltiples configuraciones.
  4. Haz clic en Guardar.

Una vez creado tu proyecto, tu navegador web muestra la página principal de tu proyecto.

Cómo agregar el control de revisión y los pasos de compilación de Gradle

Esta sección describe cómo integrar Jenkins con sistemas de control de revisión como GitHub, y cómo agregar los pasos de compilación de Gradle para compilar paquetes APK del código fuente.

Integración con GitHub y otros sistemas de control de revisión

Si usas GitHub o un sistema de control de revisión diferente para administrar el código fuente de tu app, puedes configurar Jenkins con el fin de ejecutar compilaciones automáticas y pruebas cada vez que se verifiquen actualizaciones para tu app. También puedes configurar Jenkins para que ejecute compilaciones periódicamente.

Para obtener más información acerca de la configuración de compilaciones en Jenkins, consulta cómo configurar compilaciones automáticas.

Cómo agregar pasos de compilación en Gradle para recompilar paquetes APK

Si usas un sistema de control de revisión para administrar el código fuente de tu app, debes incluir un paso de compilación en Gradle para crear nuevos ejecutables de APK cada vez que Jenkins descarga el código fuente de tu sistema de control de revisión.

  1. Agrega un paso de compilación para ejecutar los siguientes comandos en el directorio principal de tu aplicación:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. Agrega un paso de compilación para usar los paquetes de APK creados por Gradle cuando realices pruebas con Test Lab. Puedes usar esta ruta de acceso como <local_server_path> en la secuencia de comandos de shell que se proporciona a continuación, en la que <AppFolder> es la carpeta del proyecto de Android Studio para tu app:

    <AppFolder>/app/build/outputs/apk
    

Cómo agregar pasos de compilación de Test Lab a Jenkins

Ahora estás listo para agregar un paso de compilación en Jenkins y poder ejecutar Test Lab con la línea de comandos de gcloud.

Para agregar un paso de compilación en gcloud

  1. Desde la página principal de tu proyecto, haz clic en Configurar.
  2. En la página de configuración de proyecto, desplázate hacia abajo hasta la sección Compilación y luego selecciona Ejecutar shell en el menú Agregar paso de compilación.

  3. En la ventana Execute shell command de Jenkins, sustituye <local_server_path> por la ruta de acceso a la app de muestra en el servidor, <app_apk> por el APK de tu app y <app_test_apk> por el APK de prueba de tu app, y luego ingresa lo siguiente:

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

Analiza los resultados de la prueba

Después de completar la prueba de tu app en Test Lab, puedes revisar los resultados de la prueba en Firebase console o en un depósito de almacenamiento de Google Cloud en tu proyecto. También puedes agregar un comando gsutil al comando de shell anterior para copiar los datos de los resultados de la prueba a tu computadora local. Para obtener más información, consulta Análisis de resultados de Firebase Test Lab.

Integración continua con otros sistemas de CI

Para obtener información sobre cómo usar Firebase Test Lab con Circle CI, consulta esta guía de Circle CI.

Si creas documentación que explica cómo usar Firebase Test Lab con otro sistema de CI, comunícate con nosotros para que podamos revisarla y agregarla a esta sección.

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.