2018: Μεγαλύτερο Shakeup σε Χρόνια για Release iOS και CI / CD Process. Πώς να προετοιμάσετε το 2019

Πρωτότυπες συνδέσεις:

Το 2018, το World DevOps και ο κόσμος CI / CD έχουν αναταραχθεί από κάποιες μεγάλες ανακοινώσεις και ειδήσεις. Αυτές οι ανακοινώσεις προέρχονται είτε από την Apple ή από τις κοινότητες ανοιχτού κώδικα, αλλά αυτές θα αλλάξουν τους παραδοσιακούς τρόπους για να κάνουν CI / CD για εφαρμογές iOS σίγουρα. Σε αυτήν την ανάρτηση, θα κοιτάξουμε πίσω το 2018 για να κοιτάξουμε προς τα εμπρός το 2019. Θα δούμε τι έχει αλλάξει το 2018 στις εφαρμογές Mobile DevOps και Συνεχής παράδοση για iOS και πώς θα επηρεάσει ενδεχομένως τη διαδικασία έκδοσης iOS και CI / 2019.

1. Apple + BuddyBuild

Την καινούρια ημέρα του 2018, η Apple απέκτησε το BuddyBuild και τα πράγματα στο Mobile DevOps αλλάζουν δραστικά. Το BuddyBuild είναι μία από τις μεγάλες υπηρεσίες CI / CD cloud για εφαρμογές για κινητά. Από τη στιγμή που το BuddyBuild γίνεται μέλος της Apple, έχουν διακόψει την υποστήριξη για εφαρμογές Android. Επίσης, σταμάτησε να λαμβάνει νέους πελάτες για εφαρμογές iOS. Αυτή η είδηση ​​ήταν ένα από τα μεγάλα σοκ για τις εταιρείες που χρησιμοποιούν την υπηρεσία BuddyBuild τόσο για το Android όσο και για το iOS. Αυτές οι εταιρείες πρέπει να κυνηγήσουν για μια άλλη υπηρεσία CI / CD για τις εφαρμογές Android που έχει ως αποτέλεσμα την δαπανηρή εργασία μετεγκατάστασης. Αυτό ήταν επίσης ένα μεγάλο μάθημα για τις εταιρείες που χρησιμοποιούν τις υπηρεσίες CI / CD που βασίζονται σε σύννεφα, τους κάνει να σκεφτούν αν θα διαχειρίζονται την εσωτερική υποδομή κινητής τηλεφωνίας ή θα τις αναθέτουν σε άλλες εταιρείες. Έχουμε καλύψει τα πλεονεκτήματα και τα μειονεκτήματα της διαχείρισης της ενδοεπιχειρησιακής υποδομής DevOps εδώ. Η συγχώνευση της Apple και της BuddyBuild έθεσε επίσης υπό αμφισβήτηση το μέλλον του Xcode Serve. Αυτό είναι επίσης ένα κουδούνι συναγερμού για τις εταιρείες που χρησιμοποιούν το Xcode Server αυτή τη στιγμή.

Κοιτάζοντας μπροστά στο 2019:

  • Ψάχνετε για κοινές κινητές λύσεις CI / CD για πλατφόρμες για Android και iOS; Ήρθε η ώρα να αναζητήσετε άλλες υπηρεσίες CI / CD ειδικά για κινητά όπως το Travis CI, Nevercode, Bitrise, Circle CI κ.λπ., όποια και αν είναι η υποδομή του έργου σας. Ή να διαχειριστείτε την εσωτερική υποδομή κινητής τηλεφωνίας χρησιμοποιώντας Jenkins, TeamCity κ.λπ. εάν έχετε αφιερωμένους πόρους με δεξιότητες.
  • Ψάχνετε για λύση μόνο για iOS; Περιμένετε έως το WWDC που πρέπει να προσφέρει η Apple + BuddyBuild πριν μετακομίσετε σε άλλες υπηρεσίες.
  • Οι υπάρχοντες χρήστες του Xcode Server μπορούν να συνεχίσουν να χρησιμοποιούν όπως είναι, μέχρι να λάβουμε νέα για το μέλλον του Xcode Server.

2. API σύνδεσης App Store

Μια άλλη πρόσφατη είδηση ​​το 2018 ήταν η ανακοίνωση της Apple για το AppStore Connect API. Στο WWDC 2018, ένα επίσημο API έχει ανακοινωθεί για να μιλήσει τόσο στην Apple Developer portal όσο και στο iTunes Connect. Η Apple έχει επίσης συνδυάσει την Πύλη για Προγραμματιστές και το iTunes Connect και την επανασχεδίασε ως "App Store Connect". Υπάρχουν μεγάλες περιόδους λειτουργίας WWDC σχετικά με το τι νέο υπάρχει στο App Store Connect και την αυτοματοποίηση του App Store Connect

Το App Store Connect API είναι το τυπικό RESTful API που βασίζεται σε JWT (JSON Web Tokens) για έλεγχο ταυτότητας και είναι προσβάσιμο από όλες τις πλατφόρμες. Με το App Store Connect API, μπορούμε να αυτοματοποιήσουμε σχεδόν όλα τα σχετικά με το App Store συμπεριλαμβανομένου

  • Διαχείριση πιστοποιητικών, προφίλ παροχής, διαχείριση ταυτότητας συσκευής και αναγνωριστικό δέσμης
  • Διαχείριση χρηστών, ρόλων και πρόσβαση εφαρμογής App Store Connect
  • Διαχείριση Δοκιμαστών Δοκιμαστών και Βήτων και Δημόσιων Συνδέσεων
  • Λήψη οικονομικών εκθέσεων και εκθέσεων πωλήσεων

Το XCBlog κάλυψε το API App Store Connect λεπτομερώς στην προηγούμενη ανάρτηση. Το API App Store Connect θα αφαιρέσει πολλά εργαλεία τρίτων από την τρέχουσα διαδικασία CI / CD. Δεν υπάρχει καμία αμφιβολία ότι θα υπάρξουν εκατοντάδες εργαλεία ανοιχτού κώδικα που έρχονται στην αγορά που χρησιμοποιεί το App Store Connect API κάτω από την κουκούλα.

Κοιτάζοντας μπροστά στο 2019:

Το API App Store Connect θα αφαιρέσει πολλά εργαλεία τρίτων από την τρέχουσα διαδικασία CI / CD. Δεν υπάρχει καμία αμφιβολία ότι θα υπάρξουν εκατοντάδες εργαλεία ανοιχτού κώδικα που έρχονται στην αγορά που χρησιμοποιεί το App Store Connect API κάτω από την κουκούλα. Να είστε έτοιμοι να χρησιμοποιήσετε αυτά τα λαμπερά νέα εργαλεία ή να γράψετε το δικό σας προσαρμοσμένο εργαλείο για να ταιριάξετε τις απαιτήσεις του έργου σας χρησιμοποιώντας το App Store Connect API.

3. Αποσυρθείτε από το Fastlane

Το Fastlane έχει χρησιμοποιηθεί για την αυτοματοποίηση των αγωγών ανάπτυξης iOS για πολλές εφαρμογές iOS και εξυπηρετήθηκε πολύ καλά. Δεδομένου ότι η Apple βελτίωσε δραστικά τη ροή εργασιών αυτοματισμού στο Xcode Server και οι υπηρεσίες CI / CD τρίτων μερών χειρίζονται το μεγαλύτερο μέρος της υποκείμενης αυτοματοποίησης, η χρήση των εργαλείων Fastlane γίνεται περιττή. Η Apple δεν παρέσχε ποτέ API για να συνδεθεί με την πύλη Apple Developer ή το iTunes Connect. Αυτός είναι ο λόγος που το μεγαλύτερο μέρος του iOS Developer επέλεξε τη Fastlane για την αυτοματοποίηση των αγωγών ανάπτυξης iOS. Ωστόσο, με την ανακοίνωση της Apple για το AppStore Connect API, τα περισσότερα από τα εργαλεία Fastlane θα καταστούν περιττά και αργά ή γρήγορα θα πρέπει να αντικατασταθούν με τα εγγενή εργαλεία ανάπτυξης εφαρμογών της Apple. Η κοινότητα Fastlane γίνεται επίσης ήσυχη στο Twitter και στο Github, το έργο για το Fastlane CI έχει επίσης καταργηθεί. Αυτό δείχνει ότι η Fastlane πρέπει να αποσυρθεί αργά ή γρήγορα. Ετοιμαστείτε για τα λαμπερά εργαλεία και το App Store Connect API.

Κοιτάζοντας μπροστά στο 2019:

Τα κομμάτια των εργαλείων Fastlane, όπως η σάρωση, το γυμναστήριο, θα λειτουργήσουν καλά για να δημιουργήσουν και να δοκιμάσουν μια εφαρμογή iOS, αλλά αργά ή γρήγορα θα πρέπει να υιοθετήσετε τη νέα ροή που βασίζεται στο App Store Connect API. Προετοιμαστείτε να τερματίσετε τη λειτουργία των εργαλείων Fastlane που δεν χρειάζονται πια, π.χ. επιβίβαση.

Αργά ή αργότερα, θα πρέπει να μεταναστεύσετε στη νέα ροή εργασιών, οπότε θα ήταν πολύ καλή ιδέα να ξεκινήσετε την προετοιμασία για νέα εργαλεία και να αποσυρθείτε από τα έργα iOS Fastlane και Ruby.

4. Ενισχύσεις TestFlight + Σταδιακές Κυκλοφορίες

Η Apple έχει εγκαινιάσει την υποστήριξη για την υποστήριξη δημοσίων συνδέσεων του TestFlight, όπου μπορούμε να μοιραστούμε τη σύνδεση και να πάρουμε τους λαούς για να δοκιμάσουμε την εφαρμογή beta. Οι δημόσιοι σύνδεσμοι μπορούν να αποστέλλονται μέχρι και στους 10K testers, αλλά μπορούμε να ορίσουμε το όριο. Οι σύνδεσμοι μπορούν να απενεργοποιηθούν ή να ενεργοποιηθούν οποιαδήποτε στιγμή για τον έλεγχο των αριθμών δοκιμαστών. Τα περισσότερα από τα χαρακτηριστικά γνωρίσματα του TestFlight, όπως η δημιουργία ομάδων, η ανάθεση κατασκευών στην ομάδα, η διαχείριση δημόσιων συνδέσμων, η διαχείριση των δοκιμαστών και οι πληροφορίες δοκιμών μπορούν να αυτοματοποιηθούν χρησιμοποιώντας ένα API App Store Connect. Οι σταδιακές κυκλοφορίες για Συνεχή παράδοση + βελτιώσεις του TestFlight μπορούν να συνεργαστούν καλύτερα για ατρόμητες κυκλοφορίες.

Κοιτάζοντας μπροστά στο 2019:

Ξεκινήστε να χρησιμοποιείτε τους δημόσιους συνδέσμους για το TestFlight, αλλά δημιουργείτε προσοχή κατά την κοινή χρήση. Υπάρχει ο κίνδυνος διαρροής των χαρακτηριστικών στο κοινό πριν από την απελευθέρωσή του. Ξεκινήστε την αυτοματοποίηση της διαδικασίας διαχείρισης των δοκιμαστών, χρησιμοποιώντας την εφαρμογή App Store Connect API. Αποκτήστε το πλεονέκτημα της απελευθέρωσης σταδιακά για να ελέγξετε συγκεκριμένα χαρακτηριστικά της παραγωγής χωρίς κίνδυνο.

5. Σύνδεση App Store Σύνδεση iOS

Η Apple ξεκίνησε επίσης την εφαρμογή "App Store Connect" iOS, ώστε να μπορέσουμε να εκτελέσουμε σχεδόν όλες τις δραστηριότητες από τις συσκευές iOS χωρίς να χρειάζεται να μεταβείτε στον ιστότοπο. Στην εφαρμογή iOS, μπορούμε

  • Δείτε τις Τάσεις, τις πωλήσεις και τις ενημερώσεις, τις αγορές εντός εφαρμογής, τις δέσμες εφαρμογών
  • Όλες οι εφαρμογές μας και η δυνατότητα αλλαγής στην ομάδα ανάπτυξης.
  • Λεπτομερείς πληροφορίες εφαρμογών, απελευθέρωση / απόρριψη εφαρμογών, διαχείριση των αναφορών χρηστών και δημιουργία ειδοποίησης

Υπάρχουν πολλά πράγματα σχετικά με τις προπαραγγελίες, τις αγορές εντός εφαρμογής κτλ. Από την εφαρμογή iOS.

Κοιτάζοντας μπροστά στο 2019:

Χρησιμοποιήστε την εφαρμογή iOS για να διαχειριστείτε όλες τις λειτουργίες App Store Connect από το κινητό σας.

6. Νέο Σύστημα Κατασκευής Xcode

Το σύστημα Xcode New Build έχει ενεργοποιηθεί από προεπιλογή στο Xcode 10. Μπορείτε να διαβάσετε ολόκληρη τη σημείωση έκδοσης του νέου συστήματος δημιουργίας εδώ. Έχουμε καλύψει τις εσωτερικές λεπτομέρειες του νέου συστήματος κατασκευής στην προηγούμενη θέση blog μας. Η νέα ρύθμιση δημιουργίας μπορεί να ενεργοποιηθεί από το Xcode Files-> Project / Workspace Settings και μπορούμε να αλλάξουμε το παλιό και το νέο build σύστημα. Στον εξυπηρετητή CI, από τη γραμμή εντολών που χρησιμοποιεί το xcodebuild τότε πρέπει να περάσουμε επιπλέον παράμετρο -UseModernBuildSystem = YES θα αναγκάσει επίσης το νέο σύστημα κατασκευής. Μπορείτε να διαβάσετε περισσότερα για το νέο σύστημα χτιστών Xcode που μπορείτε να χρησιμοποιήσετε στο προηγούμενο XCBlog εδώ. Χρησιμοποιώντας το σύγχρονο σύστημα δημιουργίας, μπορούμε να βελτιώσουμε δραστικά τον χρόνο κατασκευής του Swift ακολουθώντας κάποιες βασικές συμβουλές που αναφέρονται εδώ.

Κοιτάζοντας μπροστά στο 2019:

Το Xcode new build σύστημα έχει σχεδιαστεί για να βρει τα ζητήματα που δεν μπορούν να καθοριστούν με τη συνήθη ροή. Ίσως χρειαστεί να προσαρμόσουμε τις εφαρμογές iOS για να βοηθήσουμε στην σωστή κατασκευή του συστήματος. Ενδέχεται να έχουμε κάποιες αποτυχίες όταν είναι ενεργοποιημένο το νέο σύστημα δημιουργίας, θα πρέπει να διορθώσουμε αυτά τα πράγματα.

7. Δοκιμή AI και παράλληλη δοκιμή

Υπάρχουν πολλά εργαλεία δοκιμής που βασίζονται στην τεχνολογία AI, χωρίς κωδικό, τα οποία εμφανίζονται στην αγορά και τα οποία λαμβάνουν μια εφαρμογή iOS, δημιουργούν σενάρια δοκιμών και εκτελούν τα στο σύννεφο. Αυτά τα εργαλεία αναφέρουν επίσης βασικά ζητήματα στις εφαρμογές χωρίς διαμόρφωση. Επί του παρόντος, υπάρχουν λίγα εργαλεία δοκιμής για κινητά που βασίζονται σε AI / ML που διατίθενται στην αγορά, π.χ. test.ai για δοκιμές κινητών τηλεφώνων. Το Applitoolsuses AI για έλεγχο οπτικής παλινδρόμησης. Το Bitbar ανακοίνωσε τη δοκιμαστική εφαρμογή εφαρμογών AI TestBot, η οποία βασίζεται σε AI, για να δοκιμάσει εφαρμογές για κινητά χρησιμοποιώντας την Τεχνητή Νοημοσύνη. Αυτά τα εργαλεία ενδέχεται να αλλάξουν τον τρόπο με τον οποίο οι δραστηριότητες QA εκτελούνται στο μέλλον και τον τρόπο με τον οποίο τα εργαλεία που βασίζονται σε AI μπορούν να χρησιμοποιηθούν για την υποστήριξη των προσπαθειών δοκιμών iOS.

Η Apple επίσης βελτιώνει τις τεχνολογίες δοκιμών κάθε χρόνο. Το 2018, η υποστήριξη για τις παράλληλες δοκιμές έχει ανακοινωθεί στο επόμενο επίπεδο με την παραλληλισμό των δοκιμαστικών σουιτών μέσα στον ίδιο προσομοιωτή δημιουργώντας κλώνους των προσομοιωτών. Το Xcode δημιουργεί μια διαφορετική διαδικασία δρομέας κάτω από την κουκούλα και κάθε διαδικασία λαμβάνει συγκεκριμένες δοκιμές. Αυτό μειώνει δραματικά την εκτέλεση της δοκιμής. Περισσότερα για την Παράλληλη δοκιμή Xcode εδώ.

Κοιτάζοντας μπροστά στο 2019:

Χρησιμοποιήστε εργαλεία δοκιμής που βασίζονται σε AI για τη δοκιμή εφαρμογών iOS και υιοθετήστε την υποστήριξη παράλληλης δοκιμής για το XCTest.

8. Εύκολοι τρόποι ανάπτυξης των αρχείων IPA

Από τώρα, υπήρχε περιορισμένη επιλογή για την ανάπτυξη των αρχείων IPA στο App Store Connect. Οι πιο συνηθισμένες επιλογές είναι οι τοπικές Xcode, φορτωτής εφαρμογών, Fastlane, ITMSTrasporter ή altool. Μπορείτε να διαβάσετε λεπτομερώς σχετικά με αυτές τις επιλογές εδώ. Ωστόσο, το 2018, πήραμε δυο περισσότερες επιλογές για την ανάπτυξη των αρχείων IPA

  • Χρησιμοποιώντας το ITMSTrasporter από το Linux Server. Λεπτομέρειες εδώ
  • Χρησιμοποιώντας το xcodebuild για να φορτώσετε το αρχείο IPA απευθείας στο App Store. Λεπτομέρειες εδώ

Αυτό θα επιτρέψει στους διακομιστές CI / CD να φορτώσουν τα αρχεία IPA που έχουν παραχθεί στο App Store πιο ομαλά ή ακόμα και από τους διακομιστές Linux.

Κοιτάζοντας μπροστά στο 2019:

Ανάπτυξη εφαρμογών iOS από τη γραμμή εντολών χρησιμοποιώντας το εργαλείο xcodebuild χρησιμοποιώντας το ExportOptionsPlist. Προσπαθήστε να μεταφέρετε τα αρχεία IPA σε διακομιστές linux και να χρησιμοποιήσετε το ITMSTransporter για την ανάπτυξη των εφαρμογών στο App Store.

9. CI για Mobile SDK και Swift Βιβλιοθήκες

Καθώς η δημοτικότητα των εφαρμογών για κινητά αυξάνεται, οι περισσότερες εταιρείες χρειάζονται αρχιτεκτονική για την ταχύτερη δημιουργία κινητών εφαρμογών. Επομένως, προκειμένου να διασφαλιστεί η ποιότητα και η επαναχρησιμοποίηση του υφιστάμενου κώδικα σε πολλές εφαρμογές, οι εταιρείες άρχισαν να δημιουργούν επαναχρησιμοποιήσιμα κιτ ανάπτυξης λογισμικού (SDK) και βιβλιοθήκες, έτσι ώστε ο κώδικας να μπορεί να επαναχρησιμοποιηθεί εύκολα σε πολλαπλές εφαρμογές. Καθώς ο κώδικας βιβλιοθήκης μπορεί να επηρεάσει πολλούς πελάτες, είναι σημαντικό να διασφαλιστεί ότι η ποιότητα του κώδικα του SDK πληροί τις απαιτήσεις όλων των πελατών. Στις περισσότερες από τις εταιρείες, υπάρχει μια υποδομή CI / CD για τις κύριες εφαρμογές, αλλά καμία για τις βιβλιοθήκες και τα SDK. Στην πραγματικότητα, η συνεχής ολοκλήρωση για τις βιβλιοθήκες και τα SDK είναι πολύ σημαντική, ακόμα πιο σημαντική, από την CI για τις κύριες εφαρμογές.

Η συνεχής ενσωμάτωση για το Κινητό SDK μπορεί να επιτευχθεί από διάφορες υπηρεσίες CI που βασίζονται σε σύννεφα, ένα από τα παραδείγματα που δημοσιεύει στο blog Nevercode εδώ πώς μπορεί να γίνει με Nevercode, αλλά μπορεί να γίνει με άλλες υπηρεσίες CI που χρησιμοποιείτε αυτή τη στιγμή.

Κοιτάζοντας μπροστά στο 2019:

Η τάση προσθήκης του CI για iOS SDKs και βιβλιοθήκες θα αυξηθεί σίγουρα στο εγγύς μέλλον, ώστε να λάβετε όλα τα SDK για κινητά και τις βιβλιοθήκες στον εξυπηρετητή CI.

10. Δράσεις GitHub

Το GitHub ξεκίνησε την υπηρεσία GitHub Action που μπορεί να χρησιμοποιηθεί για το CI / CD των Swift Packages από τα δοχεία docker που βασίζονται στο Linux. Η αναλυτική αναρτήση ιστολογίου με τον τρόπο εγκατάστασης του CI / CD με τα πακέτα Github Action for Swift εδώ. Οι Δράσεις Github μπορούν να θεωρηθούν ως η ίδια λύση CI / CD του GitHub ενσωματωμένη στο ίδιο το Github. Οι προγραμματιστές μπορούν να δημιουργούν ροές εργασίας χρησιμοποιώντας τον επεξεργαστή GUI ή από τον κώδικα.

Επί του παρόντος, αυτή η υπηρεσία περιορίζεται στις κατασκευές που βασίζονται στο Linux Docker αλλά γνωρίζει ότι μπορούμε να πάρουμε τις εικόνες macOS για να χρησιμοποιήσουμε τις ενέργειες GitHub. Μπορούμε να περιμένουμε και να δούμε τι θα κάνει η GitHub Actions στην ανάπτυξη του iOS στο εγγύς μέλλον.

Κοιτάζοντας μπροστά στο 2019:

Παρακολουθήστε τον χάρτη πορείας του GitHub για το iOS CI / CD.

συμπέρασμα

Το 2018, υπάρχουν τόσα πολλά καλά πράγματα που συνέβησαν για την απελευθέρωση των εφαρμογών iOS ομαλά. Διατηρώντας όλες αυτές τις ειδήσεις στο μυαλό, μπορούμε να προετοιμαστούν για το 2019 και να δούμε τι θα ακολουθήσει για τη διαδικασία έκδοσης iOS και CI / CD. Ελπίζω να καλύψω τις περισσότερες από τις ιστορίες από το 2018, παρακαλώ με ενημερώστε τι σκέφτεστε και πινγκ μου αν έχω χάσει τίποτα

====================================

Όπως αυτή η ανάρτηση από το XCBlog By XCTEQ; Μπορεί επίσης να σας αρέσουν μερικά από τα έργα ανοιχτού κώδικα στο Github ή ακολουθήστε μας στο Twitter και στο LinkedIn