Sužinokite Savo Angelo Skaičių
Priklausomybės atnaujinimų automatizavimas naudojant „Dependabot“.
„Sprout Social“ „Android“ programa mobiliesiems yra galinga vietinė programa, leidžianti mūsų klientams prisijungti prie savo buvimo socialinėje žiniasklaidoje kelyje. Kaip „Android“ programos dalį palaikome daugiau nei 35 atvirojo kodo bendruomenės valdomas priklausomybes, kurios yra naudingos mūsų programos sudedamosios dalys.
Mūsų priklausomybės suteikia daugybę funkcijų, tokių kaip tinklo skambučių sistemos, asinchroninio vaizdo įkėlimas, testavimo įrankiai ir kiti esami sprendimai, sprendžiantys įprastus „Android“ kūrimo iššūkius. Kai kurios iš šių priklausomybių reikalingos norint panaudoti pagrindines „Android“ bibliotekas, o kitos padeda išspręsti įprastas programinės įrangos problemas, nereikia rašyti viso kodo nuo nulio. Kiekviena priklausomybė leidžia mums išnaudoti funkcionalumą, nereikia išradinėti dviračio iš naujo.
Tuo pačiu metu kiekvienas yra atsakingas už jų atnaujinimą, kad žinotume apie naujus našumo, saugos ir funkcijų naujinius. Ant popieriaus tai skamba puikiai, tačiau, kaip žino bet kuris mobiliojo ryšio kūrėjas, rankinis šių naujinimų stebėjimas gali būti tikra našta.
Viena iš mūsų vertybių „Sprout“ inžinierių komanda yra veikti tikslingai ir susikaupus. Atsižvelgdami į tai, nusprendėme įdiegti išmanesnį sprendimą, kad galėtume praleisti daugiau laiko kurdami savo klientams svarbias funkcijas. Norėdami tai padaryti, naudojome automatizuotą priklausomybės valdymo pirmosios šalies papildinį „Dependabot“. „Dependabot“ sumažina pasenusių priklausomybių skaičių, supaprastina pastangas, reikalingas joms atnaujinti, ir supaprastina bendrą kūrimo procesą.
322 reikšmė
Atsiribokite nuo rankinės priklausomybės priežiūros
Kuriant vietinę „Android“, priklausomybės deklaruojamos faile build.gradle. Nurodydama mums reikalingą priklausomybę savo versijoje, „Gradle“ ją išspręs iš centrinės saugyklos ir nuskaitys, kad galėtume naudoti programoje. Jei „Android“ programa yra sudaryta iš kelių modulių, kiekvienas modulis turi savo build.gradle failą, kuriame deklaruojamos to modulio priklausomybės.
Veiksmingas šių priklausomybių palaikymas yra labai svarbus sklandžiam kūrimo procesui ir klientams suteikiant veiksmingą socialinės žiniasklaidos valdymo programą, kuri gali neatsilikti nuo socialinių tinklų greičio. Tačiau nuolat atnaujinti priklausomybes tampa nelengva užduotimi, kuriai reikia įvertinti darbą, patikrinti versijų suderinamumą, atlikti galimus kodo pakeitimus ir išbandyti.
Prieš Dependabot turėjome rankinį priklausomybės valdymo procesą. Didėjant mūsų programos sudėtingumui, pailgėjo ir mūsų laikas, praleistas priklausomybės valdymui. Komandai prireikė daug pastangų, kad nustatytų priklausomybės poreikį, o paskui ją apdorotų mūsų lanksčios kūrimo darbo eigos, kad būtų teikiama pirmenybė ir ji būtų atnaujinta. Dažnai pastebėdavome, kad kuriant funkcijas reikia atnaujinti priklausomybes, o tai sukėlė visada baisų projekto apimtį. Mums reikėjo geresnio būdo.
Pristatome: „Dependabot“.
Priklausomybės valdymas nėra nauja sąvoka. Atsižvelgiant į tai, kad dauguma darbo, reikalingo priklausomybėms valdyti, yra pasikartojantys ir monotoniški, mūsų komanda manė, kad tai būtų puikus kandidatas tam, ką būtų galima automatizuoti (nepakliūdami į spąstus, kad automatizavimą teks rašyti patiems).
Mes nustatėme, kad „Dependabot“ puikiai atitinka mūsų poreikius – tai pirmosios šalies „GitHub“ įrankis, kuris automatiškai aptinka naujesnes priklausomybių versijas ir atsižvelgia į visas suderinamumo problemas, kurios gali kilti atnaujinus jas. Jame pateikiami bet kokie versijos naujinimai, kai jie tampa pasiekiami, ir sukuriamos ištraukimo užklausos (PR), kuriose yra informacija apie naujinimą, kurią galėjome sklandžiai integruoti į įprastą inžinerijos darbo eigą. Staiga mums nereikėjo praleisti ilgų valandų rankiniu būdu įsitikinant, kad viskas yra aktuali.
Įgyvendinimas
„Dependabot“ sumaniai analizuoja mūsų build.gradle failus, kad nustatytų mūsų priklausomybių medį, ir sukuria PR visoms priklausomybėms, kurias reikia atnaujinti. Kad įgyvendinimas būtų sėkmingas, mums reikėjo būdo atidžiai peržiūrėti kiekvieną PR ir supaprastinti PR sujungimą.

Išleisdami bet kurią „Android“ programą, priskiriame leidimo tvarkyklę. Nusprendėme integruoti šią atsakomybę į leidimų tvarkyklės procesą, tikėdamiesi, kad per kiekvieną išleidimo ciklą bus atlikta iki penkių priklausomybės naujinimų. Išleidimo tvarkyklė peržiūri priklausomybės naujinimus, kuriuos atskleidė Dependabot, užtikrina, kad mūsų nuolatiniai PR integravimo testai ir nebūtų laužančių bibliotekos pakeitimų, tada peržiūri naujinimus, kuriuos teikia šis versijos trūkumas, ir pateikia PR sąrašą komandai patvirtinti. būti sujungtas.
Automatizavimo privalumai
Automatizuotas priklausomybės valdymas yra galingas įrankis, kuris žymiai pagerina mūsų kūrimo procesą ir mūsų inžinierių gyvenimo kokybę. Ji taip pat suteikia vartotojams didelę vertę ir naujausias funkcijas mūsų vietinėje mobiliojoje programoje. Naudodami tokį įrankį kaip „Dependabot“ supaprastinome priklausomybių gavimą, integravimą ir versijų kūrimą, sumažinome inžinieriams tenkančias rankines pastangas ir sumažinome konfliktų tikimybę mūsų priklausomybių medyje.
Kadangi „Android“ projektų sudėtingumas ir toliau auga, automatinio priklausomybės valdymo pritaikymas buvo didelės vertės žingsnis siekiant užtikrinti pasaulinio lygio kūrimo procesą mūsų komandai ir pasaulinio lygio „Android“ programą mūsų klientams.
Norėdami sužinoti daugiau apie „Sprout“ inžinierių komandą ir kultūrą, apsilankykite mūsų karjeros svetainėje .
47 prasmė
Dalykitės Su Savo Draugais: