Comience a probar con sistemas de integración continua (CI)

Puede utilizar Firebase Test Lab cuando desarrolle su aplicación utilizando cualquier sistema de integración continua (CI). Los sistemas de integración continua le permiten crear y probar automáticamente su aplicación cada vez que registra actualizaciones del código fuente de su aplicación.

Usando Firebase Test Lab con Jenkins CI

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

Requisitos

Antes de poder utilizar Firebase Test Lab con Jenkins, debe completar los siguientes pasos:

  1. Configura gcloud. Siga las instrucciones de Uso de Firebase Test Lab desde la línea de comandos de gcloud para crear un proyecto de Firebase y configurar su entorno local de SDK de Google Cloud.

  2. Cree y autorice una cuenta de servicio. Las cuentas de servicio no están sujetas a controles de spam ni mensajes de captcha, que de otro modo podrían bloquear sus compilaciones de CI. Cree una cuenta de servicio con una función de Editor en la consola de Google Cloud y luego actívela (consulte la documentación de gcloud auth enable-service-account para saber cómo hacerlo).

  3. Habilite las API requeridas. Después de iniciar sesión con la cuenta de servicio: en la página Biblioteca de API de Google Developers Console , habilite la API de prueba de Google Cloud y la API de resultados de herramientas en la nube . Para habilitar estas API, escriba estos nombres de API en el cuadro de búsqueda en la parte superior de la consola y luego haga clic en Habilitar API en la página de descripción general de esa API.

Instalar y configurar Jenkins

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

Para descargar e instalar Jenkins en una computadora que ejecuta Linux o Windows, siga las instrucciones en Instalación de Jenkins . Después de instalar Jenkins, siga las instrucciones sobre Inicio y acceso a Jenkins para completar la configuración y acceder al panel de Jenkins.

Configurar los ajustes de seguridad globales

Jenkins no tiene configurado el control de acceso ni la autenticación de usuarios cuando se instala por primera vez. Antes de usar Jenkins con Firebase Test Lab, configure los ajustes de seguridad global para aplicar el control de acceso y autenticar a los usuarios.

Para configurar los ajustes de seguridad global

  1. Navegue hasta el panel de Jenkins en su servidor. Para hacer esto, vaya a http://<servername>:8080 , donde <servername> es el nombre de la computadora donde instaló Jenkins.
  2. En el panel de Jenkins, haga clic en Administrar Jenkins y luego haga clic en Configurar seguridad global .
  3. En la página Configurar seguridad global , haga clic en Habilitar seguridad y luego haga clic en Guardar .

Para obtener más información sobre cómo configurar los ajustes de seguridad para Jenkins, consulte Seguridad rápida y sencilla , Configuración de seguridad estándar y Seguridad de Jenkins .

Crear un proyecto Jenkins

A continuación, cree un proyecto para ejecutar pruebas de integración continua de su aplicación con Firebase Test Lab.

Para crear un proyecto Jenkins

  1. Navegue hasta el panel de Jenkins en su servidor. Para hacer esto, vaya a http://<servername>:8080 , donde <servername> es el nombre de la computadora donde instaló Jenkins.
  2. En el panel de Jenkins, haga clic en Nuevo elemento .
  3. Escriba un nombre para su proyecto en el campo Nombre del artículo :
    • Elija Proyecto Freestyle para crear un proyecto que utilice una configuración de compilación única.
    • Elija Crear proyecto de configuración múltiple para crear un proyecto que se ejecute en varias configuraciones de compilación diferentes. Si planea crear su aplicación con una variedad de configuraciones de compilación (múltiples configuraciones regionales, múltiples niveles de API de Android, etc.), entonces un proyecto de configuración múltiple es la mejor opción.
  4. Clic en Guardar .

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

Agregar control de revisión y pasos de compilación de Gradle

Esta sección describe cómo integrar Jenkins con sistemas de control de revisiones como GitHub y cómo agregar pasos de compilación de Gradle para crear paquetes APK a partir del código fuente.

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

Si usa GitHub u otro sistema de control de revisiones para administrar el código fuente de su aplicación, puede configurar Jenkins para ejecutar compilaciones automatizadas y ejecutar pruebas cada vez que se registran actualizaciones de su aplicación. También puede configurar Jenkins para ejecutar compilaciones periódicamente.

Para obtener información sobre cómo configurar compilaciones en Jenkins, consulte Configuración de compilaciones automáticas .

Agregar pasos de compilación de Gradle para reconstruir paquetes APK

Si utiliza un sistema de control de revisiones para administrar el código fuente de su aplicación, debe incluir un paso de compilación de Gradle para crear nuevos archivos binarios APK cada vez que Jenkins descargue el código fuente de su sistema de control de revisiones.

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

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

  2. Agregue un paso de compilación para usar los paquetes APK creados por Gradle al realizar pruebas con Test Lab. Puede usar esta ruta como <local_server_path> en el ejemplo de script de shell que se proporciona a continuación, donde <AppFolder> es la carpeta del proyecto de Android Studio para su aplicación:

    <AppFolder>/app/build/outputs/apk
    

Agregue los pasos de compilación del laboratorio de pruebas a Jenkins

Ahora está listo para agregar un paso de compilación a Jenkins para ejecutar Test Lab usando la línea de comando de gcloud.

Para agregar un paso de compilación de gcloud

  1. Desde la página principal de su proyecto, haga clic en Configurar .
  2. En la página de configuración del proyecto , desplácese hacia abajo hasta la sección Construir y luego elija Ejecutar shell en el menú Agregar paso de compilación .

  3. En la ventana de comandos de Jenkins Execute shell , ingrese lo siguiente, sustituyendo <local_server_path> por la ruta a la aplicación de muestra en el servidor, <app_apk> por el APK de su aplicación y <app_test_apk> por el APK de prueba de su aplicación:

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

Analizar los resultados de las pruebas

Después de que Test Lab complete las pruebas de tu aplicación, puedes revisar los resultados de las pruebas en Firebase console o en un depósito de Google Cloud Storage en tu proyecto. También puede agregar un comando gsutil al comando de shell que se muestra arriba para copiar los datos de los resultados de la prueba a su computadora local. Para obtener más información, consulte Análisis de los resultados del laboratorio de pruebas de Firebase .

Integración continua con otros sistemas de CI

Para aprender a usar Firebase Test Lab con otros sistemas de CI, consulte sus documentos: