Fastlane: τι είναι, αυτοματοποίηση builds και δημοσιεύσεων

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-02-13 Χρόνος ανάγνωσης: 10 λεπ

Fastlane — εργαλείο αυτοματοποίησης builds και δημοσιεύσεων εφαρμογών για κινητά για iOS και Android. Το Fastlane διαχειρίζεται την υπογραφή κώδικα, το build, την εκτέλεση δοκιμών, τη δημιουργία στιγμιότυπων οθόνης και τη μεταφόρτωση στο App Store Connect και στο Google Play Console. Είναι το de facto πρότυπο για CI/CD στην ανάπτυξη εφαρμογών για κινητά.

Βασικά συμπεράσματα

  • Το Fastlane αυτοματοποιεί ολόκληρο το pipeline κυκλοφορίας για κινητά: build, δοκιμή, υπογραφή και δημοσίευση με μία εντολή
  • Fastfile — αρχείο ρυθμίσεων σε Ruby, στο οποίο περιγράφονται τα lanes — ονομασμένα σενάρια αυτοματοποίησης
  • Υποστήριξη για iOS και Android — το Fastlane λειτουργεί με Xcode, Gradle, App Store Connect, Google Play, TestFlight και Firebase
  • match και sigh — διαχείριση πιστοποιητικών και provisioning profiles για ανάπτυξη iOS
  • Ενσωμάτωση με CI/CD — το Fastlane ενσωματώνεται σε GitHub Actions, GitLab CI, Bitrise, Jenkins και CircleCI

Fastlane — τι είναι

Το Fastlane — είναι ένα εργαλείο ανοιχτού κώδικα που αυτοματοποιεί τις καθημερινές εργασίες ανάπτυξης εφαρμογών για κινητά: το build της εφαρμογής, την εκτέλεση δοκιμών, τη δημιουργία στιγμιότυπων οθόνης, τη διαχείριση πιστοποιητικών, τη μεταφόρτωση builds στο TestFlight, το App Store και το Google Play. Το Fastlane είναι γραμμένο σε Ruby και διανέμεται μέσω RubyGems με την εντολή gem install fastlane.

Το Fastlane εμφανίστηκε το 2015 ως εργαλείο iOS, αλλά γρήγορα επεκτάθηκε στο Android. Σήμερα είναι ένα οικοσύστημα δεκάδων ενεργειών — ενσωματωμένων εντολών που μπορούν να συνδυαστούν σε σενάρια, που ονομάζονται lanes. Κάθε lane εκτελεί μια συγκεκριμένη εργασία: για παράδειγμα, το build_release δημιουργεί την έκδοση release και το deploy_beta μεταφορτώνει το build στο TestFlight.

Το Fastlane χρησιμοποιείται από εταιρείες όπως Uber, Airbnb, Snapchat, Twitter και Shopify. Σύμφωνα με έρευνα του 2024, πάνω από το 60% των προγραμματιστών iOS χρησιμοποιούν το Fastlane στα έργα τους. Το εργαλείο υποστηρίζει τόσο τοπική εκτέλεση όσο και ενσωμάτωση με συστήματα CI cloud, καθιστώντας το το de facto πρότυπο για CI/CD σε κινητές συσκευές.

ruby
# Εγκατάσταση Fastlane
sudo gem install fastlane -NV

# Αρχικοποίηση στο έργο
fastlane init

Μετά την αρχικοποίηση, το Fastlane δημιουργεί τον κατάλογο fastlane/ με τρία αρχεία: Fastfile (σενάρια), Appfile (ρυθμίσεις εφαρμογής) και Matchfile (ρυθμίσεις πιστοποιητικών). Αυτή η δομή παραμένει ίδια και για τις δύο πλατφόρμες — iOS και Android.

Fastfile και lanes

Το κύριο αρχείο ρυθμίσεων του Fastlane — Fastfile. Βρίσκεται στον κατάλογο fastlane/ στη ρίζα του έργου. Το Fastfile γράφεται σε Ruby: κάθε lane είναι ένα ονομασμένο μπλοκ με μια ακολουθία ενεργειών. Το lane μπορεί να δέχεται παραμέτρους, να καλεί άλλα lanes και να επιστρέφει τιμές.

ruby
# fastlane/Fastfile — παράδειγμα για iOS
default_platform(:ios)

platform :ios do
  desc "Build and upload to TestFlight"
  lane :beta do
    match(type: "appstore")
    gym(scheme: "MyApp", configuration: "Release")
    pilot(skip_waiting_for_build: true)
  end

  desc "Deploy to App Store"
  lane :release do
    ensure_git_status_clean
    match(type: "appstore")
    gym(scheme: "MyApp")
    deliver(
      skip_metadata: true,
      skip_screenshots: true
    )
    push_to_git_remote(tags: true)
  end
end

Κάθε lane εκτελείται με την εντολή fastlane ios beta ή fastlane ios release. Το Fastfile υποστηρίζει μεταβλητές, συνθήκες, βρόχους και κλήση εξωτερικών σεναρίων — είναι ένα πλήρες αρχείο Ruby. Οι προγραμματιστές μπορούν να επαναχρησιμοποιούν κώδικα μέσω private_lane (τοπικές μέθοδοι) και import από άλλα Fastfile.

Το Fastlane παρέχει πάνω από 200 ενσωματωμένες ενέργειες για τις περισσότερες εργασίες. Εάν η απαιτούμενη ενέργεια δεν υπάρχει, μπορείτε να γράψετε τη δική σας σε Ruby ή να καλέσετε μια εντολή κελύφους μέσω sh("..."). Οι ενέργειες μπορούν να δέχονται παραμέτρους — ρυθμίσεις build, διαδρομές, διακριτικά πρόσβασης — και να επιστρέφουν το αποτέλεσμα για χρήση σε επόμενα βήματα.

Αυτοματοποίηση builds iOS

Το Fastlane για iOS λύνει τρία βασικά προβλήματα: διαχείριση πιστοποιητικών και provisioning profiles, build IPA μέσω Xcode και δημοσίευση σε App Store Connect και TestFlight. Κάθε μία από αυτές τις εργασίες καλύπτεται από μια ξεχωριστή ενέργεια.

match — ενέργεια για τη διαχείριση πιστοποιητικών. Αποθηκεύει όλα τα πιστοποιητικά και τα provisioning profiles σε ένα κρυπτογραφημένο αποθετήριο Git. Κάθε προγραμματιστής και διακομιστής CI χρησιμοποιούν το ίδιο σύνολο αρχείων, εξαλείφοντας συγκρούσεις και προβλήματα με ληγμένα πιστοποιητικά. Το match ενημερώνει αυτόματα τα προφίλ όταν προστίθενται νέες συσκευές.

sigh — δημιουργεί και κατεβάζει provisioning profile μέσω του Apple Developer Portal. Χρησιμοποιείται όταν χρειάζεται γρήγορα ένα προφίλ για συγκεκριμένο τύπο: development, ad-hoc ή appstore.

gym — build IPA. Το Gym περιβάλλει το xcodebuild με βέλτιστες παραμέτρους, επιλέγει αυτόματα σχήμα, διαμόρφωση, επιλογές εξαγωγής και δημιουργεί ένα υπογεγραμμένο IPA. Παράδειγμα: gym(scheme: "MyApp", export_method: "app-store").

pilot — διαχείριση TestFlight. Μεταφορτώνει το build, προσθέτει δοκιμαστές, παρακολουθεί την κατάσταση αναθεώρησης. deliver — πλήρης δημοσίευση στο App Store, συμπεριλαμβανομένων μεταδεδομένων, στιγμιότυπων οθόνης, τιμής και εκδόσεων.

ruby
# Build και δημοσίευση εφαρμογής iOS
lane :deploy_ios do
  cocoapods
  match(type: "appstore", readonly: true)
  gym(scheme: "MyApp", export_method: "app-store")
  pilot(changelog: "Bug fixes and performance improvements")
end

Για εργασία με το App Store Connect απαιτούνται διακριτικά πρόσβασης. Το Fastlane υποστηρίζει δύο μεθόδους αυθεντικοποίησης: App Store Connect API Key (συνιστάται) και Apple ID με έλεγχο ταυτότητας δύο παραγόντων. Τα κλειδιά API είναι πιο βολικά για CI/CD, καθώς δεν απαιτούν διαδραστική εισαγωγή κωδικού πρόσβασης.

ΕνέργειαΣκοπόςΧειροκίνητο αντίστοιχο
matchΔιαχείριση πιστοποιητικών και προφίλApple Developer Portal
sighΔημιουργία provisioning profileXcode + Developer Portal
gymBuild IPAxcodebuild + xcrun
pilotΜεταφόρτωση στο TestFlightXcode Organizer
deliverΔημοσίευση στο App StoreApp Store Connect Web
scanΕκτέλεση δοκιμών UIxcodebuild test

Αυτοματοποίηση builds Android

Στο Android, το Fastlane αυτοματοποιεί το build μέσω Gradle, την υπογραφή APK και AAB, τη μεταφόρτωση στο Google Play Console και το Firebase App Distribution.

gradle — η κύρια ενέργεια για build Android. Καλεί το Gradle wrapper με τις απαιτούμενες εργασίες: gradle(task: "assembleRelease") ή gradle(task: "bundleRelease") για AAB. Μπορούν να μεταβιβαστούν σημαίες, μεταβλητές περιβάλλοντος και η διαδρομή προς το gradle.properties.

supply — μεταφόρτωση APK ή AAB στο Google Play Console. Το Supply διαχειρίζεται εκδόσεις, κομμάτια (internal, alpha, beta, production), σημειώσεις έκδοσης, τιμή και χώρα διανομής. Παράδειγμα: supply(track: "beta", release_status: "completed").

screengrab — δημιουργία στιγμιότυπων οθόνης για το Google Play. Εκτελεί δοκιμές οργάνων που τραβούν στιγμιότυπα οθόνης της εφαρμογής σε διαφορετικές συσκευές και γλώσσες. Τα ληφθέντα στιγμιότυπα μεταφορτώνονται μέσω supply.

ruby
# Build και δημοσίευση εφαρμογής Android
lane :deploy_android do
  gradle(task: "clean bundleRelease")
  supply(
    track: "beta",
    release_status: "completed",
    version_code: 42
  )
end
ΕνέργειαΣκοπόςΧειροκίνητο αντίστοιχο
gradleBuild μέσω Gradle./gradlew assembleRelease
supplyΜεταφόρτωση στο Google PlayGoogle Play Console Web
screengrabΔημιουργία στιγμιότυπων οθόνηςΧειροκίνητο στιγμιότυπο + ImageMagick
firebase_app_distributionΔιανομή μέσω FirebaseFirebase Console Upload

Ενσωμάτωση με CI/CD

Το Fastlane είναι σχεδιασμένο για εργασία σε pipeline CI/CD. Χειρίζεται σωστά τη μη διαδραστική λειτουργία, τις μεταβλητές περιβάλλοντος και τα τεχνουργήματα build. Παρακάτω — παραδείγματα ενσωμάτωσης με δημοφιλή συστήματα CI.

Στο GitHub Actions, το Fastlane εκτελείται ως σενάριο Ruby. Τυπική ροή εργασίας: εγκατάσταση Ruby και Fastlane, ρύθμιση κλειδιών (πιστοποιητικά, διακριτικά API μέσω secrets), εκτέλεση lane. Για iOS απαιτείται macOS runner; το Android λειτουργεί σε ubuntu-latest.

Στο GitLab CI, το Fastlane χρησιμοποιείται στο .gitlab-ci.yml με παρόμοιο σχήμα: εγκατάσταση εξαρτήσεων, εκτέλεση fastlane, μεταφορά τεχνουργημάτων. Το GitLab CI υποστηρίζει macOS και Linux runners.

Bitrise — εξειδικευμένο CI/CD για εφαρμογές κινητών — έχει ενσωματωμένη υποστήριξη για Fastlane. Το Bitrise Workflow μπορεί να καλέσει το Fastlane Step ή να εκτελέσει αυθαίρετα σενάρια με fastlane. Το Bitrise διαχειρίζεται πιστοποιητικά μέσω του δικού του Code Signing Manager.

ruby
# Fastfile για CI/CD με υπό όρους εκτέλεση δοκιμών
lane :ci_test do
  scan(scheme: "MyApp", code_coverage: true)
end

lane :ci_beta do
  ensure_git_status_clean
  version_bump_podspec(path: "MyApp.podspec")
  match(type: "appstore", readonly: true)
  gym(scheme: "MyApp", export_method: "app-store")
  pilot(distribute_external: true)
end

Μια σημαντική πτυχή της ενσωμάτωσης CI/CD — η αποθήκευση μυστικών. Το Fastlane χρησιμοποιεί το αρχείο .env μέσω dotenv και μεταβλητές περιβάλλοντος. Για iOS, κρίσιμες μεταβλητές: MATCH_PASSWORD, FASTLANE_APPLE_API_KEY, FASTLANE_APPLE_API_KEY_ID. Για Android: SUPPLY_JSON_KEY_DATA — το περιεχόμενο του λογαριασμού υπηρεσίας Google Play.

Δημοφιλείς ενέργειες Fastlane

Το Fastlane περιλαμβάνει πάνω από 200 ενσωματωμένες ενέργειες. Παρακάτω — μια επισκόπηση των πιο δημοφιλών με ένδειξη πλατφόρμας και σκοπού.

ΕνέργειαΠλατφόρμαΠεριγραφή
gymiOSBuild IPA με βελτιστοποιημένες παραμέτρους xcodebuild
matchiOSΣυγχρονισμός πιστοποιητικών και provisioning profiles μέσω Git
pilotiOSΜεταφόρτωση build στο TestFlight και διαχείριση δοκιμαστών
deliveriOSΔημοσίευση εφαρμογής στο App Store με μεταδεδομένα
scaniOSΕκτέλεση δοκιμών unit και UI με δημιουργία αναφοράς
gradleAndroidΕκτέλεση εργασιών Gradle: assemble, bundle, test
supplyAndroidΜεταφόρτωση APK και AAB στο Google Play Console
screengrabAndroidΑυτόματα στιγμιότυπα οθόνης για το Google Play
firebase_app_distributionAndroidΔιανομή builds μέσω Firebase
snapshotiOSΑυτόματα στιγμιότυπα οθόνης σε προσομοιωτές για το App Store
increment_build_numberiOSΑυτόματη αύξηση αριθμού build στο έργο Xcode
appcenter_uploadΚαι τα δύοΜεταφόρτωση build στο App Center

Για αναζήτηση της απαιτούμενης ενέργειας χρησιμοποιείται η εντολή fastlane action [όνομα], η οποία εμφανίζει τεκμηρίωση, παραμέτρους και παραδείγματα. Η πλήρης λίστα είναι διαθέσιμη τοπικά: fastlane actions.

Το Fastlane υποστηρίζει επίσης πρόσθετα — επεκτάσεις κοινότητας που προσθέτουν νέες ενέργειες. Τα πρόσθετα εγκαθίστανται μέσω fastlane add_plugin [όνομα] και είναι διαθέσιμα στο μητρώο RubyGems. Παραδείγματα δημοφιλών προσθέτων: fastlane-plugin-versioning (διαχείριση εκδόσεων), fastlane-plugin-sentry (μεταφόρτωση debug symbols στο Sentry), fastlane-plugin-teams (ειδοποιήσεις στο Microsoft Teams).

Frequently Asked Questions

Fastlane — τι είναι και σε τι χρησιμεύει;

Fastlane — είναι ένα εργαλείο αυτοματοποίησης builds και δημοσιεύσεων εφαρμογών για κινητά. Χρησιμεύει για να αντικαθιστά χειροκίνητες λειτουργίες — build, υπογραφή, μεταφόρτωση σε καταστήματα — με μία εντολή. Το Fastlane μειώνει τον χρόνο κυκλοφορίας από ώρες σε λεπτά και εξαλείφει τα ανθρώπινα λάθη κατά τη δημοσίευση.

Μπορεί το Fastlane να χρησιμοποιηθεί μόνο για Android ή μόνο για iOS;

Ναι. Το Fastlane υποστηρίζει και τις δύο πλατφόρμες ανεξάρτητα. Για iOS απαιτείται macOS, για Android αρκεί Linux. Σε ένα Fastfile, τα lanes μπορούν να διαχωριστούν ανά πλατφόρμα: platform :ios do ... end και platform :android do ... end.

Πώς διαχειρίζεται το Fastlane τα πιστοποιητικά iOS;

Μέσω της ενέργειας match. Αποθηκεύει κρυπτογραφημένα πιστοποιητικά και provisioning profiles σε ένα αποθετήριο Git. Κάθε προγραμματιστής κλωνοποιεί το αποθετήριο, το match αποκρυπτογραφεί τα αρχεία με τον κωδικό πρόσβασης από τη μεταβλητή MATCH_PASSWORD και τα εγκαθιστά στην αλυσίδα κλειδιών. Αυτό λύνει το πρόβλημα "κάνει build στο μηχάνημά μου".

Λειτουργεί το Fastlane με το Firebase App Distribution;

Ναι. Το Fastlane έχει ενσωματωμένη ενέργεια firebase_app_distribution για μεταφόρτωση APK και IPA στο Firebase App Distribution. Διατίθεται επίσης το firebase_app_distribution_add_testers για προσθήκη δοκιμαστών. Εναλλακτικά — η ενέργεια appcenter_upload για το App Center.

Πώς εγκαθίσταται το Fastlane σε διακομιστή CI;

Το Fastlane εγκαθίσταται μέσω RubyGems: gem install fastlane -NV. Για iOS απαιτείται macOS με Xcode; για Android — Linux ή macOS με JDK και Android SDK. Στο GitHub Actions υπάρχει έτοιμη ενέργεια ruby/setup-ruby για εγκατάσταση Ruby και Fastlane. Οι μεταβλητές περιβάλλοντος μεταβιβάζονται μέσω secrets του συστήματος CI.

Σε τι διαφέρει το Fastlane από το Bitrise ή το Jenkins;

Fastlane — είναι μια βιβλιοθήκη και CLI για αυτοματοποίηση εργασιών build και δημοσίευσης. Bitrise και Jenkins — είναι πλήρεις πλατφόρμες CI/CD. Το Fastlane λειτουργεί εντός τους: το Jenkins εκτελεί το Fastlane ως βήμα pipeline, το Bitrise καλεί το Fastlane μέσω ενός ειδικού Step. Το Fastlane δεν αντικαθιστά το σύστημα CI, αλλά το συμπληρώνει με κινητή ειδικότητα.

Summary

  • Fastlane — εργαλείο ανοιχτού κώδικα για αυτοματοποίηση builds, δοκιμών και δημοσιεύσεων εφαρμογών για κινητά για iOS και Android
  • Fastfile — αρχείο ρυθμίσεων Ruby που περιγράφει lanes — σενάρια με ακολουθία ενεργειών
  • match + gym + pilot — τυπικό pipeline για iOS: διαχείριση πιστοποιητικών, build IPA, μεταφόρτωση στο TestFlight
  • gradle + supply — τυπικό pipeline για Android: build μέσω Gradle, μεταφόρτωση στο Google Play Console
  • Ενσωμάτωση CI/CD — το Fastlane ενσωματώνεται σε GitHub Actions, GitLab CI, Bitrise, Jenkins και CircleCI μέσω μεταβλητών περιβάλλοντος
  • 200+ ενέργειες — ενσωματωμένες εντολές για υπογραφή, build, δοκιμή, στιγμιότυπα οθόνης, δημοσίευση και ειδοποιήσεις
  • Πρόσθετα — επεκτάσεις κοινότητας που προσθέτουν νέες ενέργειες: versioning, Sentry, ειδοποιήσεις σε μηνύματα

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης