A Bitrise egy specializált CI/CD platform mobilfejlesztéshez, amely kész Steps — iOS és Android alkalmazások buildeléséhez, aláírásához és közzétételéhez előre konfigurált modulok köré épül. A Bitrise, 2024 adatai szerint a platform több mint 400 kész Steps et támogat, és integrálódik az Xcode, Gradle, Fastlane, Firebase és App Store Connect rendszerekkel.
Főbb pontok
Bitrise egy 2016-ban indított CI/CD platform, amely teljes mértékben a mobilfejlesztésre összpontosít. Az olyan univerzális megoldásokkal ellentétben, mint a GitHub Actions és a GitLab CI, a Bitrise a kezdetektől fogva az iOS és Android alkalmazások buildelésének automatizálására tervezték. A platform felhőben működik, és saját hosztolt runner-eket biztosít macOS és Linux rendszerrel. A Bitrise támogatja az összes népszerű mobil stack-et: Swift, Kotlin, Flutter, React Native, Cordova és Xamarin.
A Bitrise fő előnye a mobilfejlesztés tipikus feladataihoz előre konfigurált Step sablonok: Xcode build, Gradle assemble, Fastlane, Firebase Distribution, TestFlight, Google Play. A pipeline konfigurálása percekig tart a vizuális szerkesztőn keresztül, és a YAML konfiguráció automatikusan generálódik a bitrise.yml fájlban. Haladó felhasználók számára automatikus kiegészítéssel ellátott YAML szerkesztő áll rendelkezésre.
A Bitrise felépítése két kulcsfogalomra épül: Workflow és Step. Workflow egy Steps sorozat, amely meghatározza a pipeline-t. Minden projektnek több Workflow-ja lehet: primary (fő build), deploy (közzététel), test (csak tesztek). A Workflow trigger-ek által indul: push, PR, tag vagy ütemezés szerint. A Workflow manuálisan is elindítható a webes felületről, ami az ad-hoc build-eknél hasznos.
A Step egy atomi modul, amely egy feladatot hajt végre. A lépések áthúzhatók a vizuális szerkesztőben, sorrendjük és konfigurációjuk módosítható. A Bitrise biztosít Steps-eket Xcode Archive & Export, Gradle Runner, CocoaPods Install, Firebase Distribution, Slack értesítések számára. A közösség is készít Steps-eket — ezek a Step Library-n keresztül érhetők el. Minden Step-nek kötelező és opcionális bemeneti paraméterei, valamint kimeneti változói vannak, amelyeket a következő Steps használhat.
A Bitrise támogatja a Pipeline koncepciót — több Workflow egyesítését egy pipeline-ba. A Pipeline tartalmazhat fő build-et az összes platformhoz és külön workflow-t a telepítéshez és teszteléshez. Ez lehetővé teszi összetett CI/CD folyamatok létrehozását, ahol az egyik build elindítja a másikat. A Bitrise Stacks meghatározzák a runner-en előre telepített szoftvert: Xcode, Android SDK, Flutter, Node.js és más eszközök.
A Bitrise integrálódik a GitHub, GitLab, Bitbucket és Azure DevOps rendszerekkel. Csatlakoztatáskor a Bitrise automatikusan érzékeli a projekt típusát (iOS, Android, Flutter) és Workflow sablont javasol. Privát repozitóriumokhoz a Bitrise OAuth-on vagy SSH-kulcson keresztül kér hozzáférést. Több repozitórium csatlakoztatása egy alkalmazáshoz támogatott.
Csatlakozás után a Bitrise webhook-ot hoz létre a repozitóriumban a build-ek automatikus indításához push és PR esetén. Minden build egyedi számot, naplókat és artefaktumokat kap. A felület lehetővé teszi a build-ek előzményeinek megtekintését, változtatások összehasonlítását és sikertelen build-ek újraindítását. A Bitrise támogatja az ütemezett build-eket rendszeres éjszakai build-ekhez és a Jira integrációt a commit-ek követéséhez.
Az iOS code signing az egyik legnehezebb CI/CD feladat, és a Bitrise rendkívül egyszerűen oldja meg. A platform tárolja a tanúsítványokat és provisioning profile-okat titkosított formában, automatikusan telepíti őket a megfelelő keychain-be build előtt, és exportálja az aláírt IPA-t. A Certificate and Profile Installer Step letölti a fájlokat a Bitrise tárhelyéről és konfigurálja az Xcode-ot. A Development, AdHoc, AppStore és Enterprise tanúsítványtípusok támogatottak.
Az App Store Connect-ben való közzétételhez a Bitrise Steps-eket biztosít az IPA feltöltéséhez Xcode Archive & Export segítségével. A Google Play közzététel a Gradle Runner-t használja Keystore-on keresztüli aláírással, majd az APK/AAB feltöltésre kerül a Google Play Console-ba a Google Play Deploy Step segítségével. A Firebase App Distribution-hoz elegendő megadni a Firebase Token-t és a tesztelők csoportját. A Bitrise automatizálja a build verziók (version number és build number) frissítését minden közzététel előtt.
A tanúsítványok feltöltése a webes felület Code Signing szakaszában történik: P12 a privát kulccsal, provisioning profile (.mobileprovision), Keystore (.jks/.keystore) Androidhoz. A Bitrise automatikusan telepíti az iOS tanúsítványokat a keychain-be minden Workflow indításakor, és exportálja az aláírt alkalmazást. Androidhoz elegendő a Keystore fájl feltöltése — a Bitrise továbbítja azt a Gradle-nek környezeti változókon keresztül a build során.
Tekintsünk át egy Workflow-t egy Flutter alkalmazáshoz, amely build-eket hoz létre és tesz közzé iOS és Android rendszerre. A Bitrise automatikusan érzékeli a Flutter projektet és javasolja a megfelelő Steps-eket. A Workflow magában foglalja a Flutter telepítését, a pub-cache gyorsítótárazását, buildelést, tesztelést és telepítést. Az iOS buildhez ezenkívül code signing tanúsítványok szükségesek, amelyeket a Bitrise automatikusan betölt.
A Flutter alkalmazások buildelésekor a Bitrise támogatja a platformonkénti külön konfigurációt. Az Android build Linux runner-en történik Flutter SDK-val, az iOS macOS runner-en. A Workflow tartalmazhat feltételes Steps-eket: build_android és build_ios, amelyek csak a megfelelő platformokon futnak. A React Native projektekhez a Bitrise hasonló Steps készletet kínál npm/nvm és Metro bundler segítségével.
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: {}
A build után hozzáadható a Firebase App Distribution Step iOS és Android rendszerhez. A Step fogadja a firebase_token, app_id és testers_group paramétereket. A Bitrise behelyettesíti az értékeket a Secrets-ből — a tokenek biztonságos tárolása garantálja, hogy nem kerülnek a naplókba.
- 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
A bizalmas adatok megfelelő kezelése a CI/CD folyamatok biztonságának alapja. A Bitrise Secrets titkosítottak, és mentés után nem olvashatók. Új alkalmazás létrehozásakor a Bitrise felajánlja a secrets importálását másik projektből vagy manuális beállítását. Nagy csapatok számára elérhető az Environment Groups funkció — a változók és secrets központosított kezelése alkalmazáscsoportok számára.
A Bitrise beépített Secrets tárolót biztosít bizalmas adatokhoz: API-kulcsok, Firebase tokenek, Keystore jelszavak, Apple ID. A Secrets beállítása kulcs-érték párokként történik a webes felületen, és maszkolásra kerülnek a build naplókban. Alkalmazás és Workflow szinten érhetők el. A Secrets mentés után nem olvashatók — csak felülírhatók.
Az Environment Variables (Secret címke nélkül) konfigurációkhoz használatosak: Xcode verzió, projekt elérési út, build séma. A Bitrise környezeti változói (BITRISE_BUILD_NUMBER, BITRISE_APP_TITLE) meta-információt szolgáltatnak a build-ről. A Secrets tároláskor titkosításra kerülnek, és csak a runner-en dekódolódnak a Workflow végrehajtása során. A változók csoportos kezeléséhez a Bitrise támogatja az Environment Groups-okat — változókészletek, amelyek egyszerre több alkalmazásra alkalmazhatók.
Az iOS tanúsítványok kezelése a Bitrise-en keresztül külön figyelmet érdemel. A platform automatikusan telepíti a P12-t és provisioning profile-t a rendszer keychain-be a build előtt. Androidhoz a Code Signing szakaszba feltöltött Keystore fájl használatos. Minden tanúsítványfájl titkosított formában tárolódik, és csak a build során dekódolódik.
- google-play-deploy@3:
inputs:
- package_name: com.example.app
- service_account_json_key: $SERVICE_ACCOUNT_KEY
- app_file: $BITRISE_APK_PATH
A Bitrise különböző stack-eket kínál a build-hez — előre telepített képeket eszközökkel és SDK-kkal. Stack-ek érhetők el Xcode-hoz (14, 15, 16 verziók iOS SDK 17, 18), Androidhoz (különböző SDK és NDK verziókkal), Flutter, React Native és Kotlin Multiplatform számára. Minden stack rendelkezik az előre telepített eszközök és verziók leírásával.
A stack kiválasztása befolyásolja a build időt és a projekttel való kompatibilitást. A Bitrise rendszeresen frissíti a stack-eket, új eszközverziókat hozzáadva. A platform frissítésekor fellépő váratlan változások elkerülése érdekében a stack konkrét verziója rögzíthető a bitrise.yml-ben. Egyéni függőségekhez a Script Step használatos, amely telepíti a szükséges csomagokat a fő build előtt. A Bitrise támogatja a Docker képeket Linux stack-ekhez, lehetővé téve egyéni környezet használatát Android build-ekhez.
Gyakran ismételt kérdések
A Bitrise ingyenes tervet kínál havi 90 perc build idővel és egy concurrent build-del. A Developer (79$/hó) 3000 percet, legfeljebb 5 concurrent build-et és minden integrációt tartalmaz. Enterprise — egyedi árazás.
A Bitrise támogatja iOS (Swift, Objective-C), Android (Kotlin, Java), Flutter, React Native, Cordova, Ionic és Xamarin rendszereket. Minden platformhoz előre telepített eszközök és Workflow sablonok tartoznak.
A Bitrise macOS runner-eket biztosít az iOS build-hez további konfiguráció nélkül. A platform maga kezeli a macOS infrastruktúrát — a runner automatikusan kiválasztásra kerül az alkalmazás stack-je alapján.
A Bitrise titkosított formában tárolja a tanúsítványokat, és automatikusan telepíti őket a keychain-be a build előtt a Certificate and Profile Installer Step segítségével. Androidhoz hasonlóan — a Keystore feltöltésre kerül, és a Gradle használja aláíráskor.
Igen, a Bitrise támogatja az egyéni Steps-eket a Script Step (bash script) és egyéni Step Library segítségével GitHub-ról. Létrehozhat saját Step-et is a Bitrise dokumentációja szerint, és közzéteheti a Step Library-ben.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is