Bitrise es una plataforma CI/CD especializada para el desarrollo móvil, construida alrededor de Steps listos para usar — módulos preconfigurados para compilar, firmar y publicar aplicaciones iOS y Android. Según Bitrise, 2024, la plataforma soporta más de 400 Steps listos y se integra con Xcode, Gradle, Fastlane, Firebase y App Store Connect.
Puntos clave
Bitrise es una plataforma CI/CD lanzada en 2016 y completamente enfocada en el desarrollo móvil. A diferencia de soluciones universales como GitHub Actions y GitLab CI, Bitrise fue diseñada originalmente para automatizar la compilación de aplicaciones iOS y Android. La plataforma funciona en la nube y proporciona sus propios runners alojados con macOS y Linux. Bitrise soporta todos los stacks móviles populares: Swift, Kotlin, Flutter, React Native, Cordova y Xamarin.
La principal ventaja de Bitrise son las plantillas de Step preconfiguradas para tareas típicas de desarrollo móvil: compilación Xcode, Gradle assemble, Fastlane, Firebase Distribution, TestFlight, Google Play. La configuración del pipeline toma minutos a través del editor visual, y la configuración YAML se genera automáticamente en el archivo bitrise.yml. Para usuarios experimentados, hay un editor YAML con autocompletado.
La arquitectura de Bitrise se basa en dos conceptos clave: Workflow y Step. Un Workflow es una secuencia de Steps que define el pipeline. Cada proyecto puede tener varios Workflows: primary (compilación principal), deploy (publicación), test (solo pruebas). Un Workflow se activa por eventos: push, PR, tag o según un horario. Los Workflows también pueden lanzarse manualmente desde la interfaz web, útil para compilaciones ad-hoc.
Un Step es un módulo atómico que realiza una sola tarea. Los Steps se pueden arrastrar en el editor visual, cambiando su orden y configuración. Bitrise proporciona Steps para Xcode Archive & Export, Gradle Runner, CocoaPods Install, Firebase Distribution y notificaciones de Slack. La comunidad también crea Steps — están disponibles a través de Step Library. Cada Step tiene parámetros de entrada obligatorios y opcionales, así como variables de salida que pueden ser utilizadas por Steps posteriores.
Bitrise soporta el concepto de Pipeline — la combinación de varios Workflows en un único pipeline. Un Pipeline puede incluir compilaciones principales para todas las plataformas y workflows separados para despliegue y pruebas. Esto permite crear procesos CI/CD complejos donde una compilación desencadena otra. Los Stacks de Bitrise determinan el software preinstalado en el runner: Xcode, Android SDK, Flutter, Node.js y otras herramientas.
Bitrise se integra con GitHub, GitLab, Bitbucket y Azure DevOps. Al conectar un repositorio, Bitrise detecta automáticamente el tipo de proyecto (iOS, Android, Flutter) y sugiere una plantilla de Workflow. Para repositorios privados, Bitrise solicita acceso mediante OAuth o clave SSH. Se pueden conectar múltiples repositorios a una misma aplicación.
Después de la conexión, Bitrise crea un webhook en el repositorio para iniciar automáticamente las compilaciones al hacer push y PR. Cada compilación recibe un número único, registros y artefactos. La interfaz permite ver el historial de compilaciones, comparar cambios y reiniciar builds fallidos. Bitrise también soporta compilaciones programadas para builds nocturnos regulares e integración con Jira para el seguimiento de commits.
El code signing para iOS es una de las tareas más complejas de CI/CD, y Bitrise la resuelve de la manera más simple posible. La plataforma almacena certificados y provisioning profiles de forma cifrada, los instala automáticamente en el keychain adecuado antes de la compilación y exporta el IPA firmado. El Step Certificate and Profile Installer descarga los archivos del almacenamiento de Bitrise y configura Xcode. Se admiten certificados de tipo Development, AdHoc, AppStore y Enterprise.
Para publicar en App Store Connect, Bitrise proporciona Steps para subir IPA mediante Xcode Archive & Export. La publicación en Google Play utiliza Gradle Runner con firma mediante Keystore, tras lo cual el APK/AAB se sube a Google Play Console a través de Google Play Deploy Step. Para Firebase App Distribution, basta con especificar el Firebase Token y el grupo de testers. Bitrise automatiza la actualización del número de versión y número de compilación antes de cada publicación.
Los certificados se cargan en la sección Code Signing de la interfaz web: P12 con clave privada, provisioning profile (.mobileprovision), Keystore (.jks/.keystore) para Android. Bitrise automáticamente instala los certificados iOS en el keychain en cada ejecución del Workflow y exporta la aplicación firmada. Para Android, basta con cargar el archivo Keystore — Bitrise lo pasa a Gradle a través de variables de entorno durante la compilación.
Veamos un Workflow para una aplicación Flutter que compila y publica builds para iOS y Android. Bitrise automáticamente detecta un proyecto Flutter y sugiere los Steps correspondientes. El Workflow incluye instalación de Flutter, caché de pub-cache, compilación, pruebas y despliegue. Para compilaciones iOS, se requieren adicionalmente certificados de code signing, que Bitrise carga automáticamente.
Al compilar aplicaciones Flutter, Bitrise admite configuración separada para cada plataforma. Las compilaciones Android se ejecutan en un runner Linux con Flutter SDK, las de iOS en un runner macOS. Un Workflow puede incluir Steps condicionales: build_android y build_ios, que se ejecutan solo en sus respectivas plataformas. Para proyectos React Native, Bitrise ofrece un conjunto similar de Steps con npm/nvm y Metro bundler.
format_version: 13
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
trigger_map:
- push_branch: main
workflow: primary
workflows:
primary:
steps:
- activate-ssh-key@4:
run_if: true
- git-clone@8: {}
- flutter-installer@0:
inputs:
- version: 3.24.0
- flutter-build@0:
inputs:
- platform: both
- ios_output_type: archive
- deploy-to-bitrise-io@2: {}
Después de la compilación, se puede añadir un Step de Firebase App Distribution para iOS y Android. El Step acepta firebase_token, app_id y testers_group. Bitrise sustituye los valores de Secrets — el almacenamiento seguro de tokens garantiza que no aparezcan en los registros.
- firebase-app-distribution@1:
inputs:
- firebase_token: $FIREBASE_TOKEN
- app_id: $FIREBASE_IOS_APP_ID
- testers_group: qa-team
- release_notes: |
Build $BITRISE_BUILD_NUMBER
La gestión adecuada de datos confidenciales es la base de la seguridad en los procesos CI/CD. Los Secrets de Bitrise están cifrados y no se pueden leer después de guardarlos. Al crear una nueva aplicación, Bitrise ofrece importar secrets de otro proyecto o configurarlos manualmente. Para equipos grandes, está disponible la función Environment Groups — gestión centralizada de variables y secrets para un grupo de aplicaciones.
Bitrise proporciona almacenamiento integrado de Secrets para datos confidenciales: claves de API, tokens de Firebase, contraseñas de Keystore, Apple ID. Los Secrets se definen como pares clave-valor en la interfaz web y se enmascaran en los registros de compilación. Están disponibles a nivel de aplicación y de Workflow. Los Secrets no se pueden leer después de guardarlos — solo se pueden sobrescribir.
Las Variables de Entorno (sin la marca Secret) se utilizan para la configuración: versión de Xcode, ruta del proyecto, esquema de compilación. Las variables de entorno de Bitrise (BITRISE_BUILD_NUMBER, BITRISE_APP_TITLE) proporcionan meta-información sobre la compilación. Los Secrets se cifran en reposo y se descifran solo en el runner durante la ejecución del Workflow. Para la gestión grupal de variables, Bitrise admite Environment Groups — conjuntos de variables aplicables a múltiples aplicaciones simultáneamente.
Mención especial merece la gestión de certificados iOS a través de Bitrise. La plataforma automáticamente instala P12 y provisioning profiles en el keychain del sistema antes de la compilación. Para Android, se utiliza el archivo Keystore, cargado en la sección Code Signing. Cada archivo de certificado se almacena cifrado y se descifra solo durante la compilación.
- google-play-deploy@3:
inputs:
- package_name: com.example.app
- service_account_json_key: $SERVICE_ACCOUNT_KEY
- app_file: $BITRISE_APK_PATH
Bitrise ofrece varios stacks para compilación — imágenes preinstaladas con herramientas y SDK. Los stacks disponibles incluyen Xcode (versiones 14, 15, 16 con iOS SDK 17, 18), Android (con diferentes versiones de SDK y NDK), Flutter, React Native y Kotlin Multiplatform. Cada stack tiene una descripción de las herramientas y versiones preinstaladas.
La selección del stack afecta el tiempo de compilación y la compatibilidad con el proyecto. Bitrise actualiza regularmente los stacks, añadiendo nuevas versiones de herramientas. Se puede fijar una versión específica del stack en bitrise.yml para evitar cambios inesperados al actualizar la plataforma. Para dependencias personalizadas, se utiliza el Script Step que instala los paquetes necesarios antes de la compilación principal. Bitrise también admite imágenes Docker para stacks Linux, lo que permite entornos personalizados para compilaciones Android.
Preguntas frecuentes
Bitrise ofrece un plan gratuito con 90 minutos de compilación al mes y una compilación concurrente. Developer ($79/mes) incluye 3000 minutos, hasta 5 compilaciones concurrentes y todas las integraciones. Enterprise — precios personalizados.
Bitrise soporta iOS (Swift, Objective-C), Android (Kotlin, Java), Flutter, React Native, Cordova, Ionic y Xamarin. Cada plataforma tiene herramientas preinstaladas y plantillas de Workflow.
Bitrise proporciona runners macOS para compilaciones iOS sin configuración adicional. La plataforma gestiona la infraestructura macOS automáticamente — el runner se selecciona según el stack de la aplicación.
Bitrise almacena los certificados de forma cifrada y los instala automáticamente en el keychain antes de la compilación mediante el Step Certificate and Profile Installer. Para Android de manera similar — el Keystore se carga y Gradle lo usa durante la firma.
Sí, Bitrise soporta Steps personalizados mediante Script Step (script bash) y Step Libraries personalizadas desde GitHub. También puedes crear tu propio Step según la documentación de Bitrise y publicarlo en Step Library.
Resumen
Desarrollaremos una aplicación móvil llave en mano
IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.
Lea también