Μάθετε Τον Αριθμό Του Αγγέλου Σας
Αυτοματοποίηση ενημερώσεων εξάρτησης με το Dependabot
Η εφαρμογή Android για κινητά του Sprout Social είναι μια ισχυρή εγγενής εφαρμογή που κρατά τους πελάτες μας συνδεδεμένους με την παρουσία τους στα μέσα κοινωνικής δικτύωσης εν κινήσει. Ως μέρος της εφαρμογής μας για Android, διατηρούμε πάνω από 35 εξαρτήσεις που διαχειρίζεται η κοινότητα ανοιχτού κώδικα που παρέχουν χρήσιμα δομικά στοιχεία για την εφαρμογή μας.
Οι εξαρτήσεις μας παρέχουν μυριάδες λειτουργίες, όπως πλαίσια για την πραγματοποίηση κλήσεων δικτύου, ασύγχρονη φόρτωση εικόνων, εργαλεία δοκιμών και άλλες υπάρχουσες λύσεις που επιλύουν κοινές προκλήσεις ανάπτυξης Android. Ορισμένες από αυτές τις εξαρτήσεις απαιτούνται για την αξιοποίηση των βασικών βιβλιοθηκών Android, ενώ άλλες βοηθούν στην επίλυση κοινών προκλήσεων λογισμικού χωρίς να χρειάζεται να γράψετε όλο τον κώδικα από την αρχή. Κάθε εξάρτηση μας επιτρέπει να αξιοποιήσουμε τη λειτουργικότητα χωρίς να χρειάζεται να εφεύρουμε ξανά τον τροχό.
Ταυτόχρονα, το καθένα έχει την ευθύνη να το διατηρεί ενημερωμένο για να διασφαλίσουμε ότι γνωρίζουμε νέες ενημερώσεις απόδοσης, ασφάλειας και λειτουργιών. Αυτό ακούγεται υπέροχο στα χαρτιά, αλλά όπως γνωρίζει οποιοσδήποτε προγραμματιστής κινητής τηλεφωνίας, η μη αυτόματη παρακολούθηση αυτών των ενημερώσεων μπορεί να είναι μια πραγματική επιβάρυνση.
1210 αριθμός αγγέλου
Μία από τις αξίες μας Η ομάδα μηχανικών του Sprout είναι να ενεργείς με σκοπό και εστίαση. Υπό αυτό το πνεύμα, αποφασίσαμε να εφαρμόσουμε μια πιο έξυπνη λύση, ώστε να μπορούμε να αφιερώνουμε περισσότερο χρόνο για να δημιουργήσουμε εντυπωσιακές λειτουργίες για τους πελάτες μας. Για να το πετύχουμε αυτό, χρησιμοποιήσαμε την προσθήκη αυτοματοποιημένης διαχείρισης εξαρτήσεων πρώτου μέρους, Dependabot. Το Dependabot μειώνει τον όγκο των παρωχημένων εξαρτήσεων, απλοποιεί την προσπάθεια που απαιτείται για την ενημέρωσή τους και βελτιστοποιεί τη συνολική διαδικασία ανάπτυξής μας.
Απομάκρυνση από τη χειροκίνητη συντήρηση εξάρτησης
Στην εγγενή ανάπτυξη Android, οι εξαρτήσεις δηλώνονται σε ένα αρχείο build.gradle. Καθορίζοντας την εξάρτηση που χρειαζόμαστε με την έκδοσή του, το Gradle θα το επιλύσει από ένα κεντρικό αποθετήριο και θα το ανακτήσει για να μπορούμε να το χρησιμοποιήσουμε μέσα στην εφαρμογή. Εάν μια εφαρμογή Android είναι πολλαπλών λειτουργικών μονάδων, κάθε λειτουργική μονάδα έχει το δικό της αρχείο build.gradle που δηλώνει τις εξαρτήσεις για αυτήν την ενότητα.
Η αποτελεσματική διατήρηση αυτών των εξαρτήσεων είναι κρίσιμη για μια ομαλή διαδικασία ανάπτυξης και για την παροχή στους πελάτες μιας αποτελεσματικής εφαρμογής διαχείρισης μέσων κοινωνικής δικτύωσης που μπορεί να συμβαδίσει με την ταχύτητα των κοινωνικών δικτύων. Ωστόσο, η ενημέρωση των εξαρτήσεων γίνεται μια δύσκολη εργασία που απαιτεί αξιολόγηση της εργασίας, ελέγχους συμβατότητας εκδόσεων, πιθανές αλλαγές κώδικα και δοκιμές.
Πριν από το Dependabot, είχαμε μια μη αυτόματη διαδικασία διαχείρισης εξαρτήσεων. Καθώς η πολυπλοκότητα της εφαρμογής μας αυξανόταν, τόσο αυξανόταν ο χρόνος που αφιερώναμε στη διαχείριση εξαρτήσεων. Χρειάστηκε σημαντική προσπάθεια για την ομάδα να εντοπίσει την ανάγκη για εξάρτηση και, στη συνέχεια, να την επεξεργαστεί μέσω των ροών εργασιών ευέλικτης ανάπτυξης για να τεθεί σε προτεραιότητα και να ενημερωθεί. Συχνά ανακαλύπταμε ότι οι εξαρτήσεις χρειάζονταν ενημερώσεις κατά την ανάπτυξη χαρακτηριστικών, γεγονός που εισήγαγε την πάντα τρομακτική ερπυστική εμβέλεια του έργου. Χρειαζόμασταν καλύτερο τρόπο.
9/11 άγγελος
Παρουσιάζοντας: Dependabot
Η διαχείριση της εξάρτησης δεν είναι μια νέα έννοια. Δεδομένου ότι η περισσότερη δουλειά που απαιτείται για τη διαχείριση των εξαρτήσεων είναι επαναλαμβανόμενη και μονότονη, η ομάδα μας θεώρησε ότι θα ήταν ο τέλειος υποψήφιος για κάτι που θα μπορούσε να αυτοματοποιηθεί (χωρίς να πέσουμε στην παγίδα να χρειαστεί να γράψουμε τον αυτοματισμό μόνοι μας).
Διαπιστώσαμε ότι το Dependabot ανταποκρίνεται στις ανάγκες μας—είναι ένα εργαλείο πρώτου κατασκευαστή του GitHub που εντοπίζει αυτόματα νεότερες εκδόσεις εξαρτήσεων και λογοδοτεί για τυχόν προβλήματα συμβατότητας που μπορεί να προκληθούν από την αναβάθμισή τους. Εμφανίζει οποιεσδήποτε αναβαθμίσεις έκδοσης καθώς γίνονται διαθέσιμες και δημιουργεί αιτήματα έλξης (PRs) που περιέχουν πληροφορίες σχετικά με την αναβάθμιση, τις οποίες μπορέσαμε να ενσωματώσουμε απρόσκοπτα στην κανονική ροή εργασιών μηχανικής μας. Ξαφνικά, δεν χρειάστηκε να περάσουμε πολλές ώρες χειροκίνητα για να βεβαιωθούμε ότι όλα ήταν ενημερωμένα.
Εκτέλεση
Το Dependabot αναλύει έξυπνα τα αρχεία build.gradle για να προσδιορίσει το δέντρο εξαρτήσεων και δημιουργεί PR για τυχόν εξαρτήσεις που πρέπει να ενημερωθούν. Προκειμένου η εφαρμογή να είναι επιτυχής, χρειαζόμασταν έναν τρόπο για να αναθεωρήσουμε προσεκτικά κάθε PR και να εξορθολογίσουμε τις συγχωνεύσεις των PR.

Κατά τη διάρκεια οποιασδήποτε κυκλοφορίας εφαρμογής της εφαρμογής μας Android, αναθέτουμε έναν διαχειριστή έκδοσης. Αποφασίσαμε να ενσωματώσουμε αυτήν την ευθύνη στη διαδικασία του διαχειριστή εκδόσεων, με την προσδοκία ότι θα ολοκληρωθούν έως και πέντε αναβαθμίσεις εξαρτήσεων κατά τη διάρκεια κάθε κύκλου κυκλοφορίας. Ο διαχειριστής έκδοσης ελέγχει τις ενημερώσεις εξάρτησης που αποκαλύπτονται από το Dependabot, διασφαλίζει ότι οι συνεχείς δοκιμές ενσωμάτωσης στο πάσο PR και ότι δεν υπάρχουν αλλαγές στη βιβλιοθήκη, εξετάζει τις αναβαθμίσεις που παρέχονται από αυτήν την έκδοση και φέρνει τη λίστα των PR στην ομάδα για έγκριση να συγχωνευθούν.
Τα οφέλη του αυτοματισμού
Η αυτοματοποιημένη διαχείριση εξαρτήσεων είναι ένα ισχυρό εργαλείο που βελτιώνει σημαντικά τη διαδικασία ανάπτυξής μας και την ποιότητα ζωής των μηχανικών μας. Παρέχει επίσης στους χρήστες υψηλή αξία και τις πιο πρόσφατες δυνατότητες στην εγγενή εφαρμογή μας για κινητά. Με ένα εργαλείο όπως το Dependabot, βελτιστοποιήσαμε την ανάκτηση, την ενσωμάτωση και την έκδοση των εξαρτήσεων, μειώνοντας τον όγκο της μη αυτόματης προσπάθειας που πρέπει να ξοδέψουν οι μηχανικοί και μειώνοντας την πιθανότητα διενέξεων στο δέντρο εξαρτήσεων μας.
Καθώς η πολυπλοκότητα των έργων Android συνεχίζει να αυξάνεται, η υιοθέτηση της αυτοματοποιημένης διαχείρισης εξαρτήσεων ήταν ένα βήμα υψηλής αξίας προκειμένου να διασφαλιστεί μια διαδικασία ανάπτυξης παγκόσμιας κλάσης για την ομάδα μας και μια εφαρμογή Android παγκόσμιας κλάσης για τους πελάτες μας.
Για να μάθετε περισσότερα για την ομάδα μηχανικών και τον πολιτισμό του Sprout, επισκεφθείτε τον ιστότοπο σταδιοδρομίας μας .
Μοιράσου Το Με Τους Φίλους Σου:
αριθμοί αγγέλου 515