¿Cuántas veces necesitas compilar tu aplicación para los entornos DEV, QA, STAGE, PREPROD, PROD, etc.?
Se pierde mucho tiempo compilando un archivo .ipa, subiéndolo a Crashlytics (HockeyApp, TestFlight, etc.), notificando al equipo de control de calidad sobre la última compilación, etc.
En mi opinión, tener éxito significa dedicar tu tiempo al trabajo real, por ejemplo, escribir código. Configurar un proceso de integración y entrega continua se ha vuelto crítico hoy en día, ya que te ayuda a eliminar errores al principio del ciclo de desarrollo y ahorra mucho tiempo al desarrollador.
Bien, bla, bla, bla. Leamos algo de teoría sobre CI/CD.
Integración Continua (CI) es una práctica de desarrollo que requiere que los desarrolladores integren el código en un repositorio compartido varias veces al día. Cada confirmación (check-in) se verifica mediante una compilación automatizada, lo que permite a los equipos detectar problemas temprano.
Hay muchas herramientas disponibles que pueden ayudarte con la integración continua de aplicaciones iOS, como Fastlane, Xcode Server, Jenkins, Travis y otras.
Elegimos Fastlane + Jenkins.
Entrega Continua (CD) es un enfoque de ingeniería de software en el que los equipos producen software en ciclos cortos, asegurando que el software pueda lanzarse de manera confiable en cualquier momento. Su objetivo es compilar, probar y lanzar software de forma más rápida y frecuente.
¿Por qué usar Entrega Continua?
1. Ahorra días en la preparación de envíos de aplicaciones, subida de capturas de pantalla y lanzamiento de la aplicación.
2. ¿Un colega está de vacaciones y es necesario lanzar una corrección crítica? No dependas de una sola persona para lanzar actualizaciones.
3. Aumenta la calidad del software y el tiempo de reacción con lanzamientos más frecuentes y pequeños.
Automaticemos tus compilaciones
Fastlane: Prerrequisitos
Tu versión de Ruby debe ser 2.4.0 o más reciente.
- Actualizar Ruby
- Instalar Fastlane
Fastlane: Crear una Configuración Simple
Es decir, puedes automatizar tus compilaciones simplemente usando este comando.
- Has añadido Fastlane con éxito usando una plantilla.
Jenkins: Añadir un Trabajo (Job)
No te diré cómo instalar Jenkins. Puedes ir a el sitio oficial para obtener esta información.
Empezamos con la creación del trabajo (Job).
- Crea un trabajo y añade el paso «Ejecutar shell» (Execute shell) a la sección de compilación.

Trabajo en Jenkins. Paso «Ejecutar shell» en la sección de compilación.
Resultado
Tienes la plantilla de Fastlane integrada en tu proyecto. Eso puede funcionar sin ninguna herramienta de CI como Jenkins, Travis, etc. Solo requiere la gema Fastlane y los certificados correctos en la máquina de compilación.
Además, integramos el trabajo de Fastlane como un trabajo de Jenkins. Es más fácil trabajar con el panel de Jenkins que con una terminal, ¿no es así?
Por supuesto, puedes crear tu plantilla de Fastlane usando el comando «Fastlane init», luego añadir nuevos pasos a tu carril (lane) de Fastlane o al trabajo de Jenkins. La configuración extendida se explorará en una serie separada: «Procesos de Integración y Entrega Continuas».
Recuerda, dedica unas horas a la automatización una vez y serás feliz durante todos los próximos días/meses/años que dediques al proyecto.
Esta fue una pequeña guía sobre automatización de compilaciones usando Fastlane y Jenkins.