Aflați Numărul Dvs. De Înger
Automatizarea actualizărilor dependenței cu Dependabot
Aplicația mobilă Android de la Sprout Social este o aplicație nativă puternică care îi menține pe clienții noștri conectați la prezența lor în rețelele sociale din mers. Ca parte a aplicației noastre pentru Android, menținem peste 35 de dependențe gestionate de comunitatea open source care oferă elemente de bază utile pentru aplicația noastră.
Dependența noastră oferă o multitudine de funcționalități, cum ar fi cadre pentru efectuarea de apeluri în rețea, încărcare asincronă a imaginilor, instrumente de testare și alte soluții existente care rezolvă provocările comune de dezvoltare Android. Unele dintre aceste dependențe sunt necesare pentru a folosi bibliotecile de bază Android, în timp ce altele ajută la rezolvarea provocărilor comune ale software-ului fără a fi nevoie să scrieți tot codul de la zero. Fiecare dependență ne permite să valorificăm funcționalitatea fără a fi nevoie să reinventăm roata.
În același timp, fiecare are responsabilitatea de a le menține la curent pentru a ne asigura că cunoaștem noi actualizări de performanță, securitate și funcții. Acest lucru sună grozav pe hârtie, dar după cum știe orice dezvoltator de dispozitive mobile, urmărirea manuală a acestor actualizări poate fi o povară reală.
Una dintre valorile noastre pe Echipa de ingineri a lui Sprout este să acționezi cu scop și concentrare. În acest spirit, am decis să implementăm o soluție mai inteligentă, astfel încât să putem petrece mai mult timp construind funcții de impact pentru clienții noștri. Pentru a realiza acest lucru, am folosit pluginul de gestionare automată a dependenței, Dependabot. Dependabot reduce volumul de dependențe învechite, simplifică efortul necesar pentru a le actualiza și simplifică procesul nostru general de dezvoltare.
Îndepărtarea de la întreținerea manuală a dependenței
În dezvoltarea nativă Android, dependențele sunt declarate într-un fișier build.gradle. Specificând dependența de care avem nevoie cu versiunea sa, Gradle o va rezolva dintr-un depozit central și o va prelua pentru ca noi să o putem folosi în cadrul aplicației. Dacă o aplicație Android are mai multe module, fiecare modul are propriul fișier build.gradle care declară dependențele pentru modulul respectiv.
Menținerea eficientă a acestor dependențe este esențială pentru un proces de dezvoltare fără probleme și pentru a oferi clienților o aplicație eficientă de gestionare a rețelelor sociale care poate ține pasul cu viteza rețelelor sociale. Dar păstrarea dependențelor la zi devine o sarcină descurajantă care necesită o evaluare a muncii, verificări de compatibilitate cu versiunile, posibile modificări de cod și testare.
Înainte de Dependabot, aveam un proces manual de gestionare a dependenței. Pe măsură ce complexitatea aplicației noastre a crescut, la fel a crescut și timpul petrecut cu gestionarea dependenței. A fost nevoie de un efort semnificativ pentru echipă pentru a identifica nevoia unei dependențe, apoi a o procesa prin fluxurile noastre de lucru agile de dezvoltare pentru a o prioritiza și actualizată. De multe ori descoperim că dependențele aveau nevoie de actualizări în timpul dezvoltării caracteristicilor, ceea ce a introdus întotdeauna temutul scope-creep al proiectului. Aveam nevoie de o cale mai bună.
Vă prezentăm: Dependabot
Managementul dependenței nu este un concept nou. Având în vedere că cea mai mare parte a muncii necesare pentru gestionarea dependențelor este repetitivă și monotonă, echipa noastră s-a gândit că acesta ar fi candidatul perfect pentru ceva care ar putea fi automatizat (fără a cădea în capcana de a fi nevoiți să scriem noi înșine automatizarea).
Am descoperit că Dependabot se potrivește bine nevoilor noastre – este un instrument GitHub prima parte care detectează automat versiunile mai noi de dependențe și ține cont de orice probleme de compatibilitate care pot fi cauzate de actualizarea acestora. Evidențiază orice actualizări de versiune pe măsură ce acestea devin disponibile și creează solicitări de extragere (PR) care conțin informații despre actualizare, pe care le-am putut integra fără probleme în fluxul nostru de lucru normal de inginerie. Dintr-o dată, nu a trebuit să petrecem ore lungi manual pentru a ne asigura că totul era actual.
Implementarea
Dependabot analizează în mod inteligent fișierele noastre build.gradle pentru a determina arborele nostru de dependențe și creează PR-uri pentru orice dependențe care trebuie actualizate. Pentru ca implementarea să fie un succes, aveam nevoie de o modalitate de a revizui cu atenție fiecare PR și de a eficientiza fuzionarea PR-urilor.

În timpul oricărei lansări a aplicației noastre pentru Android, atribuim un manager de lansare. Am decis să integrăm această responsabilitate în procesul managerului de lansare, cu așteptarea ca până la cinci upgrade-uri de dependență să fie finalizate în timpul fiecărui ciclu de lansare. Managerul de versiuni analizează actualizările de dependență descoperite de Dependabot, se asigură că testele noastre continue de integrare pe PR trec și că nu există modificări ale bibliotecii, apoi examinează upgrade-urile oferite de această versiune și aduce lista PR-urilor echipei pentru aprobare. să fie comasate.
Beneficiile automatizării
Gestionarea automată a dependenței este un instrument puternic care îmbunătățește semnificativ procesul nostru de dezvoltare și calitatea vieții inginerilor noștri. De asemenea, oferă utilizatorilor o valoare ridicată și cele mai recente funcții din aplicația noastră mobilă nativă. Cu un instrument precum Dependabot, am simplificat regăsirea, integrarea și versiunea dependențelor, reducând cantitatea de efort manual pe care inginerii trebuie să îl cheltuiască și scăzând șansele de conflicte în arborele nostru de dependențe.
Pe măsură ce complexitatea proiectelor Android continuă să crească, adoptarea gestionării automate a dependenței a fost un pas de mare valoare pentru a asigura un proces de dezvoltare de clasă mondială pentru echipa noastră și o aplicație Android de clasă mondială pentru clienții noștri.
Pentru a afla mai multe despre echipa de ingineri și cultura lui Sprout, vizitați site-ul nostru de cariere .
Imparte Cu Prietenii Tai: