header_lecciones_v5

Integración continua en iOS usando Fastlane

por Julián David Pérez, el 4 de mayo de 2020

h_DevOps_Leccion

Hay tareas muy tediosas y sensibles a errores que requieren que pongamos todos los sentidos en ella cuando las realizamos, y más cuando debemos hacerlas en momentos de mucha carga de trabajo. Sin embargo, gracias a los avances que se han hecho en el desarrollo de plataformas móviles se han comenzado a automatizar estos procesos y facilitar tareas tediosas.

Una de estas herramientas es Fastlane, que es una herramienta para la gestión de ciclos de integración continua (empaquetado y despliegue) tanto en iOS como en Android. Fue creada por Felix Krouse y está basada en ruby.

La necesidad de crear una herramienta de este estilo tuvo origen en los largos, repetitivos y enrevesados procesos de empaquetado de aplicaciones para dispositivos móviles primero en iOS y después se añadiría el soporte a Android.

La base fundamental de Fastlane es que nos permite crear una especie de ‘scripts’ que denominan ‘Lanes’ donde se ejecutan una serie de ‘comandos’ los cuales pueden llamar a otros comandos pre configurados llamados ‘Actions’.

A continuación te doy un paso a paso sobre cómo crear una integración continua en iOS usando Fastlane.

Paso a Paso para la integración continua en iOS usando Fastlane

1. En la terminal ejecuta los siguientes comandos:

Fastlane1

2. Necesitaras tener instalado ruby compruébalo ejecutando (ruby -v)

Fastlane2

3. Instalar Fastlane dentro de la carpeta root de tu proyecto IOS a la par del . xcodeproj, este proceso te pedirá que escojas alguna de configuraciones, pero te guiara en cualquiera de las opciones que tomes.

fastlane3

4. Dependiendo de la configuración que selecciones tendrás los siguientes archivos

Con estas configuraciones básicas tendrás lo suficiente para entender como funcionan las Actions.

fastlane4

Luego de esto puedes ejecutar la lane beta en la terminal (puedes colocarle cualquier nombre que sea descriptivo para poder usarlo).

fastlane5

fastlane6

Y listo con esto tendrás una app lista para ser probada desde testflight y si ejecuta reléase, la tendrás lista para enviarla a revisar.

Puedes ver mas Actions en la pagina oficial -> https://docs.fastlane.tools/actions

Actions que puedes usar

  • deliver: Es el "core" de la herramienta. Permite subir los screenshots, metadatos, binarios, etc. a la AppStore. Todo de una.
  • snapshot: Usando los UI Tests, permite tomar capturas de pantalla del simulador y enviarlas con Deliver. ¿Se imaginan lo que significa eso cuando desarrollas en 7 u 8 idiomas para 4 o 5 dispositivos distintos?
  • frameIt: Permite añadirles un "marco" a tus screenshots, para que aparezcan enmarcada en la AppStore. Muchas Apps hacen este tipo de montajes.
  • pem: Genera automáticamente certificados push para nuestras Apps.
    produce: Produce permite crear nuevas Apps en iTunesConnect para no tener que hacerlo de forma manual.
  • pilot: Permite gestionar betas en testflight, desde enviarlas, a añadir/enviar testers.
  • gym: Es el generador de IPAs.
  • scan: Lanza los test de tu App.
  • match: Y por último, pero no por eso menos importante, Match. Esta es la última incorporación de Fastlane. Permite que todo un equipo comparta los certificados/provisioning profiles de los proyectos. Solo es necesario un repositorio y una cuenta común para trabajar. 

Puedes jugar con las distintas action e ir creando lines que luego se podrán ejecutar en los pipelines ya sea n GitLab o en Azure o en AWS.

Nota: Puedes crear variables de entorno y declararlas en el before_all con eso puedes manejar información que sea de ayuda o incluso tomarla directamente del entorno donde estés trabajando como Azure. 

fastlane7

¿Te gustaría trabajar con nosotros?

Temas:Desarrollo de Software

Lecciones Pragma

Lecciones en Academia Pragma

Aquí encontrarás tutoriales técnicos para que apliques en temas de desarrollo de software, cloud, calidad en software y aplicaciones móviles. 

También puedes visitar nuestro Blog con contenido actual sobre Transformación Digital, Marketing, Conocimiento de Usuario y más. 

Blog

Suscríbete a la academia

Descarga la Guía para trabajar con ambientes IBM Websphere Portal