Fastlane: Lanzamientos automáticos para aplicaciones móviles

automatic-mobile-app-releases-with-fastlane

Cada vez que tenía que cargar una aplicación en las tiendas de aplicaciones, era una molestia … ¡hasta que conocí Fastlane!

En nuestra empresa, siempre había alguien que terminaba a cargo de lanzar nuevas versiones de la aplicación a la tienda, y esa persona podría demorar alrededor de 1 hora para hacer cambios, revisar detalles, publicar en las tiendas y revisar que todo salió bien.

Debido a ese ciclo de lanzamiento defectuoso, salí a buscar una herramienta para simplificar ese proceso y ahorrar nuestro valioso tiempo. Quería reemplazar a esa persona a cargo de los lanzamientos con una máquina para que nuestro gerente de proyecto pudiera revisar el producto final y tener el control del proceso sin requerir a nuestros desarrolladores.

Deshazte del hombre en el medio entre tus desarrolladores y tu lanzamiento, reemplázalo con una máquina

Preparación de Fastlane

Para usar Fastlane, debe configurarlo por plataforma. Eso significa que si su aplicación es compatible con Android e iOS, deberá configurarla dos veces en el mismo proyecto.
En Fastlane creas algo llamado carriles o lanes y luego los ejecutas usando fastlane lane_name

Por ejemplo, para crear un carril para implementar su aplicación en la versión beta de Android, puede tener algo como esto:

platform :android do
  desc "Submit a new Beta Build to Play Store"
  lane :beta do
    gradle(task: "clean assembleRelease")
    upload_to_play_store(
      apk: '../build/app/outputs/apk/release/app-release.apk',
      track: 'beta',
    )
  end
end

Esto creará una nueva versión en la consola de Play Store y la lanzará a los usuarios que hayan aceptado la vista previa beta. Por supuesto, puede publicarlo directamente al público si eso se adapta mejor a su flujo.

Configure la versión de producción y el control de cambios

Normalmente, como parte del proceso de lanzamiento, debe actualizar sus notas de lanzamiento. Es posible que desee editar la descripción o las capturas de pantalla. Todo esto se puede hacer ahora desde el repositorio.

Fastlane crea varias carpetas y las llena con información que se recupera de la tienda durante el proceso de conexión. Cuando la aplicación ha sido probada y está lista para su lanzamiento, como parte del proceso de lanzamiento, los desarrolladores pueden actualizar los archivos creados por Fastlane y esos cambios llegarán a las tiendas sin que tengan que ingresar a cada consola y configurarlos manualmente. Esto puede parecer algo simple, pero cambiar un par de líneas de texto en la web puede llevar de 15 a 30 minutos. Esto puede ser peor si no está acostumbrado a hacerlo o lo hace con moderación.

Los desarrolladores también deberán actualizar el número de compilación y la versión, pero eso solo ocurre ahora en el código. En lugar de tener este flujo:

  • Actualizar la versión (compilación y nombre de la versión)
  • Crear la versión en el repositorio
  • Crear y firmar el paquete
  • Crear un lanzamiento en la tienda
  • Actualizar el registro de cambios
  • Subir el paquete generado a la tienda
  • Hacerlo público

Podemos seguir los siguientes pasos:

  • Actualizar la versión (compilación y nombre de la versión)
  • Actualizar el registro de cambios
  • Crear la versión en el repositorio
  • Correr Fastlane

¡Ahorrando mucho tiempo ya!

Actualice las capturas de pantalla

Ambas tiendas (tienda de aplicaciones y tienda de juegos) muestran algunas imágenes para que pueda mostrar a sus usuarios cómo funciona la aplicación y qué deben esperar de ella.

Hay varias opciones con que que puede hacer con esto

  • Puede dejar sus carpetas de imágenes vacías y decirle a Fastlane que desea administrar las imágenes directamente en la tienda.
  • Puede agregar sus imágenes a la carpeta de capturas de pantalla y actualizarlas como parte de su proceso de publicación.
  • Puede decirle a Fastlane que automatice la captura de pantalla. Esto puede ser un GRAN ahorro de tiempo si su aplicación tiene más de 5 pantallas. Puede tomar capturas de pantalla en varios dispositivos (simuladores) en diferentes idiomas al mismo tiempo y dejar que Fastlane realice la configuración por usted.

Si su aplicación es pequeña, puede que no valga la pena. Pero a medida que su aplicación comienza a crecer y pasa más y más tiempo tomando capturas de pantalla, puede encontrar esto útil.

Deshágase del desarrollador a cargo de los lanzamientos

Si trabaja con una implementación continua y tiene un flujo bien establecido de versiones, puede configurar Fastlane en una máquina Mac. ¿Por qué mac? Porque iOS te obliga a hacerlo. Si solo está trabajando con Android, entonces debería poder usar Linux.

La configuración inicial y la creación de sus carriles pueden llevar algún tiempo, pero una vez que tenga eso funcionando, debería funcionar sin más problemas a partir de ahí.

Cuando su lanzamiento esté listo, puede activar la compilación automáticamente con cualquier mecanismo que utilice para sus aplicaciones web tradicionales. De hecho, eliminará al hombre del medio.

Palabras Finales

Fastlane le permite hacer muchas cosas. No tiene que configurar todo para comenzar. Puede configurar un carril y comenzar desde allí, creando más a medida que comprenda cuánto tiempo ahorra Fastlane para su equipo y cuánto más eficiente puede hacer el proceso.

Si usted trabaja en flutter, puede verificar la documentación que ellos crearon para integrar con Fastlane. Obviamente, no está restringido a este marco, pero es el que estoy usando últimamente.