Bitrise — concepte cheie, Workflows și integrare continuă

Autor: IT Sectr Publicat: 2026-04-13 Timp de citire: 8 min

Bitrise este o platformă CI/CD specializată pentru dezvoltarea mobilă, construită în jurul Steps-urilor gata făcute — module preconfigurate pentru construirea, semnarea și publicarea aplicațiilor iOS și Android. Potrivit Bitrise, 2024, platforma suportă peste 400 de Steps gata făcute și se integrează cu Xcode, Gradle, Fastlane, Firebase și App Store Connect.

Idei principale

  • Bitrise — platformă CI/CD specializată pentru proiecte mobile pe iOS, Android, Flutter și React Native
  • Workflow — secvență de Steps care definește pipeline-ul de construire, testare și implementare
  • Step — modul gata făcut pentru o sarcină specifică: instalarea dependențelor, rularea testelor, code signing
  • Code Signing — Bitrise gestionează automat certificatele și provisioning profile-urile pentru iOS
  • Secrets — stocare securizată a token-urilor, cheilor și parolelor pentru acces la servicii terțe

Ce este Bitrise?

Bitrise este o platformă CI/CD lansată în 2016, complet concentrată pe dezvoltarea mobilă. Spre deosebire de soluțiile universale GitHub Actions și GitLab CI, Bitrise a fost concepută de la început pentru automatizarea construcției aplicațiilor iOS și Android. Platforma rulează în cloud și oferă propriile runner-uri găzduite cu macOS și Linux. Bitrise suportă toate stivele mobile populare: Swift, Kotlin, Flutter, React Native, Cordova și Xamarin.

Principalul avantaj al Bitrise sunt șabloanele Step preconfigurate pentru sarcini tipice de dezvoltare mobilă: Xcode build, Gradle assemble, Fastlane, Firebase Distribution, TestFlight, Google Play. Configurarea pipeline-ului durează minute prin editorul vizual, iar configurația YAML este generată automat în fișierul bitrise.yml. Pentru utilizatorii avansați, este disponibil un editor YAML cu autocompletare.

Arhitectura Bitrise: Workflows și Steps

Arhitectura Bitrise se bazează pe două concepte cheie: Workflow și Step. Workflow este o secvență de Steps care definește pipeline-ul. Fiecare proiect poate avea mai multe Workflow-uri: primary (build principal), deploy (publicare), test (doar teste). Workflow-ul este declanșat de trigger-e: push, PR, tag sau după un program. Workflow-ul poate fi rulat manual din interfața web, ceea ce este util pentru build-urile ad-hoc.

Step este un modul atomic care execută o singură sarcină. Pașii pot fi trași în editorul vizual, ordinea și configurația lor pot fi modificate. Bitrise oferă Steps pentru Xcode Archive & Export, Gradle Runner, CocoaPods Install, Firebase Distribution, notificări Slack. Comunitatea creează și ea Steps — acestea sunt disponibile prin Step Library. Fiecare Step are parametri de intrare obligatorii și opționali, precum și variabile de ieșire care pot fi utilizate de Steps-urile următoare.

Bitrise suportă conceptul de Pipeline — combinarea mai multor Workflow-uri într-un singur pipeline. Pipeline-ul poate include build-ul principal pentru toate platformele și workflow-uri separate pentru implementare și testare. Acest lucru permite crearea unor procese CI/CD complexe în care un build declanșează altul. Stacks Bitrise definesc software-ul preinstalat pe runner: Xcode, Android SDK, Flutter, Node.js și alte instrumente.

Steps populare pentru proiecte mobile

  • Xcode Archive & Export — construirea și exportul IPA cu gestionarea provisioning profile
  • Gradle Runner — rularea sarcinilor Gradle cu argumente și cache
  • Flutter Build — construirea aplicațiilor Flutter pentru iOS și Android
  • Firebase App Distribution — publicarea build-ului pentru testeri
  • Certificate and Profile Installer — instalarea automată a certificatelor de code signing

Integrarea Bitrise cu repositoarele Git

Bitrise se integrează cu GitHub, GitLab, Bitbucket și Azure DevOps. La conectarea repositorului, Bitrise detectează automat tipul de proiect (iOS, Android, Flutter) și propune un șablon Workflow. Pentru repositoarele private, Bitrise solicită acces prin OAuth sau cheie SSH. Se suportă conectarea mai multor repositoare la o singură aplicație.

După conectare, Bitrise creează un webhook în repositor pentru pornirea automată a build-urilor la push și PR. Fiecare build primește un număr unic, log-uri și artefacte. Interfața permite vizualizarea istoricului build-urilor, compararea modificărilor și repornirea build-urilor eșuate. Bitrise suportă și scheduled builds pentru build-uri nocturne regulate și integrarea cu Jira pentru urmărirea commit-urilor.

Code Signing și publicarea în App Store și Google Play

Code signing-ul pentru iOS este una dintre cele mai dificile sarcini CI/CD, iar Bitrise o rezolvă extrem de simplu. Platforma stochează certificatele și provisioning profile-urile în formă criptată, le instalează automat în keychain-ul corespunzător înainte de build și exportă IPA-ul semnat. Step-ul Certificate and Profile Installer descarcă fișierele din depozitul Bitrise și configurează Xcode. Sunt suportate tipurile de certificate Development, AdHoc, AppStore și Enterprise.

Pentru publicarea în App Store Connect, Bitrise oferă Steps pentru încărcarea IPA prin Xcode Archive & Export. Publicarea în Google Play folosește Gradle Runner cu semnare prin Keystore, după care APK/AAB este încărcat în Google Play Console prin Google Play Deploy Step. Pentru Firebase App Distribution este suficient să specificați Firebase Token și grupul de testeri. Bitrise automatizează actualizarea versiunilor de build (version number și build number) înainte de fiecare publicare.

Configurarea code signing-ului în Bitrise

Certificatele se încarcă în secțiunea Code Signing a interfeței web: P12 cu cheia privată, provisioning profile (.mobileprovision), Keystore (.jks/.keystore) pentru Android. Bitrise instalează automat certificatele iOS în keychain la fiecare pornire a Workflow-ului și exportă aplicația semnată. Pentru Android, este suficient să încărcați fișierul Keystore — Bitrise îl transmite către Gradle prin variabile de mediu în timpul build-ului.

Exemplu de configurare Bitrise pentru Flutter

Să analizăm un Workflow pentru o aplicație Flutter care construiește și publică versiuni pentru iOS și Android. Bitrise detectează automat proiectul Flutter și propune Steps-urile corespunzătoare. Workflow-ul include instalarea Flutter, cache-ul pub-cache, construirea, testarea și implementarea. Pentru build-ul iOS sunt necesare suplimentar certificatele de code signing, pe care Bitrise le încarcă automat.

La construirea aplicațiilor Flutter, Bitrise suportă configurarea separată pentru platforme. Build-ul Android se execută pe Linux runner cu Flutter SDK, iar iOS pe macOS runner. Workflow-ul poate include Steps condiționale: build_android și build_ios care rulează doar pe platformele corespunzătoare. Pentru proiecte React Native, Bitrise oferă un set similar de Steps cu npm/nvm și Metro bundler.

yaml
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: {}

Step personalizat pentru implementare

După build, se poate adăuga Step-ul Firebase App Distribution pentru iOS și Android. Step-ul primește firebase_token, app_id și testers_group. Bitrise înlocuiește valorile din Secrets — stocarea securizată a token-urilor garantează că acestea nu apar în log-uri.

yaml
- 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

Secrets și gestionarea mediului

Gestionarea corectă a datelor confidențiale este baza securității proceselor CI/CD. Bitrise Secrets sunt criptate și inaccesibile la citire după salvare. La crearea unei noi aplicații, Bitrise propune importarea secretelor dintr-un alt proiect sau setarea manuală. Pentru echipele mari, este disponibilă funcția Environment Groups — gestionarea centralizată a variabilelor și secretelor pentru un grup de aplicații.

Bitrise oferă stocare încorporată Secrets pentru date confidențiale: chei API, token-uri Firebase, parole Keystore, Apple ID. Secrets se setează ca perechi cheie-valoare în interfața web și sunt mascate în log-urile de build. Sunt disponibile la nivel de aplicație și la nivel de Workflow. Secrets nu pot fi citite după salvare — pot fi doar suprascrise.

Environment Variables (fără eticheta Secret) sunt utilizate pentru configurații: versiunea Xcode, calea proiectului, schema de build. Variabilele de mediu Bitrise (BITRISE_BUILD_NUMBER, BITRISE_APP_TITLE) oferă meta-informații despre build. Secrets sunt criptate la stocare și decriptate doar pe runner în timpul executării Workflow-ului. Pentru gestionarea în grup a variabilelor, Bitrise suportă Environment Groups — seturi de variabile aplicabile mai multor aplicații simultan.

Gestionarea certificatelor iOS prin Bitrise necesită o atenție deosebită. Platforma instalează automat P12 și provisioning profile-ul în keychain-ul sistemului înainte de build. Pentru Android se folosește fișierul Keystore încărcat în secțiunea Code Signing. Fiecare fișier de certificat este stocat în formă criptată și decriptat doar în timpul build-ului.

Exemplu de utilizare a Secrets

yaml
- google-play-deploy@3:
    inputs:
    - package_name: com.example.app
    - service_account_json_key: $SERVICE_ACCOUNT_KEY
    - app_file: $BITRISE_APK_PATH

Stive și medii Bitrise

Bitrise oferă diferite stive (stack) pentru build — imagini preinstalate cu instrumente și SDK. Sunt disponibile stive pentru Xcode (versiunile 14, 15, 16 cu iOS SDK 17, 18), pentru Android (cu diferite versiuni de SDK și NDK), pentru Flutter, React Native și Kotlin Multiplatform. Fiecare stivă are o descriere a instrumentelor și versiunilor preinstalate.

Alegerea stivei influențează timpul de build și compatibilitatea cu proiectul. Bitrise actualizează regulat stivele, adăugând versiuni noi de instrumente. Se poate fixa o versiune specifică de stivă în bitrise.yml pentru a evita modificări neașteptate la actualizarea platformei. Pentru dependențe personalizate se folosește Script Step, care instalează pachetele necesare înainte de build-ul principal. Bitrise suportă și imagini Docker pentru Linux stacks, permițând utilizarea unui mediu personalizat pentru build-urile Android.

Întrebări frecvente

Cât costă Bitrise?

Bitrise oferă un plan gratuit cu 90 de minute de build pe lună și un concurrent build. Developer (79$/lună) include 3000 de minute, până la 5 concurrent builds și toate integrările. Enterprise — prețuri personalizate.

Ce platforme suportă Bitrise?

Bitrise suportă iOS (Swift, Objective-C), Android (Kotlin, Java), Flutter, React Native, Cordova, Ionic și Xamarin. Pentru fiecare platformă există instrumente preinstalate și șabloane Workflow.

Este necesar un macOS runner pentru iOS în Bitrise?

Bitrise oferă macOS runner-e pentru build-ul iOS fără configurare suplimentară. Platforma gestionează singură infrastructura macOS — runner-ul este selectat automat în funcție de stiva aplicației.

Cum gestionează Bitrise certificatele iOS?

Bitrise stochează certificatele în formă criptată și le instalează automat în keychain înainte de build prin Step-ul Certificate and Profile Installer. Pentru Android, în mod similar — Keystore-ul este încărcat și utilizat de Gradle la semnare.

Se pot personaliza Steps-urile în Bitrise?

Da, Bitrise suportă Steps personalizate prin Script Step (script bash) și Step Library personalizată din GitHub. De asemenea, puteți crea propriul Step conform documentației Bitrise și îl puteți publica în Step Library.

Rezumat

  • Bitrise — platformă CI/CD specializată pentru dezvoltare mobilă cu Steps gata făcute pentru iOS și Android
  • Workflow — secvență de Steps configurabilă în editorul vizual sau în bitrise.yml
  • Step — modul pentru o sarcină specifică: build Xcode, Gradle, publicare în Firebase, notificări Slack
  • Code Signing — gestionare automată a certificatelor iOS și Keystore Android fără operații manuale
  • Secrets — stocare securizată a token-urilor și cheilor cu mascare în log-urile de build
  • Integrare cu GitHub, GitLab, Bitbucket prin webhooks cu detectare automată a tipului de proiect
  • macOS runner-e pentru build-ul iOS sunt furnizate de Bitrise — nu este necesară infrastructură proprie

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și