2018: Najveći Shakeup u godinama za izdanje iOS-a i CI / CD procesa. Kako se pripremiti za 2019. godinu

Izvorni linkovi:

U 2018. godini Mobile DevOps i CI / CD svijet potresli su neke velike najave i vijesti. Ove najave dolaze ili iz Applea, ili iz zajednica otvorenog koda, ali to će zasigurno promijeniti tradicionalne načine rada CI / CD za iOS aplikacije. U ovom postu ćemo se osvrnuti na 2018., pa ćemo gledati naprijed u 2019. Vidjet ćemo što je promijenjeno u 2018. godini u Mobile DevOps i Kontinuirana isporuka za iOS aplikacije i kako će potencijalno utjecati na izdanje iOS-a i CI / CD proces u 2019.

1. Apple + BuddyBuild

Na novi dan 2018. godine Apple je stekao BuddyBuild i stvari u Mobile DevOps-u drastično se mijenjaju. BuddyBuild je jedan od sjajnih CI / CD usluga u oblaku za mobilne aplikacije. Budući da BuddyBuild postaje dio Applea, ukinuli su podršku za Android aplikacije. Također je prestao primati nove kupce za iOS aplikacije. Ova vijest bila je jedan od velikih šokova za tvrtke koje koriste BuddyBuild uslugu i za Android i iOS. Te tvrtke trebaju potražiti drugu CI / CD uslugu za Android aplikacije što rezultira skupim migracijskim radom. Ovo je također bila velika lekcija za tvrtke koje koriste usluge utemeljene na oblaku CI / CD, što ih tjera na razmišljanje o tome hoće li upravljati mobilnom infrastrukturom u vlastitom vlasništvu ili je prenijeti na druge tvrtke. Ovdje smo pokrili prednosti i nedostatke upravljanja mobilnom DevOps infrastrukturom. Spajanje Applea i BuddyBuild također dovodi u pitanje budućnost Xcode Servea. Ovo je također zvono alarma za kompanije koje trenutno koriste Xcode Server.

Naprijed u 2019. godinu:

  • Tražite uobičajena cross-platformska mobilna CI / CD rješenja za Android i iOS? Vrijeme je da potražite druge CI / CD usluge specifične za mobilne uređaje poput Travis CI, Nevercode, Bitrise, Circle CI itd. Sve što je pogodno za vašu projektnu infrastrukturu. Ili upravljajte internom mobilnom infrastrukturom koristeći Jenkins, TeamCity itd. Ako imate namjenske resurse s vještinama.
  • Tražite jedino rješenje za iOS? Pričekajte do WWDC-a što Apple + BuddyBuild može ponuditi prije prelaska na bilo koje druge usluge.
  • Postojeći korisnici Xcode Servera mogu i dalje upotrebljavati dok ne dobijemo vijesti o budućnosti Xcode Servera.

2. App Store Connect API

Još jedna nova vijest u 2018. godini bila je Appleova najava AppStore Connect API-ja. Na WWDC 2018. najavljen je službeni API za razgovor s Apple Developer portalom i iTunes Connect. Apple je također kombinirao Developer Portal i iTunes Connect i označio ih kao "App Store Connect". Postoje sjajne sesije WWDC-a o tome što je novo u App Store Connectu i automatizaciji App Store Connect-a

App Store Connect API je standardni RESTful API zasnovan na JWT (JSON Web tokenima) za provjeru autentičnosti i njemu se može pristupiti sa svih platformi. Pomoću App Store Connect API-ja možemo automatizirati gotovo sve što se tiče App Store-a, uključujući

  • Upravljanje certifikatima, profilima za rezerviranje, upravljanjem ID-om uređaja i ID-om paketa
  • Upravljanje korisnicima, ulogama i pristupu aplikaciji App Store Connect
  • Upravljanje TestFlight i Beta testerima i javne veze
  • Preuzimanje financijskih izvještaja i izvješća o prodaji

XCBlog je detalje opisao App Store Connect API u prethodnom postu. API Store Store Connect uklonit će puno alata treće strane iz trenutnog CI / CD procesa. Nije ni čudo, na tržištu će biti stotine alata s otvorenim kodom koji pod poklopcem koriste App Store Connect API.

Naprijed u 2019. godinu:

API Store Store Connect uklonit će puno alata treće strane iz trenutnog CI / CD procesa. Nije ni čudo, na tržištu će biti stotine alata s otvorenim kodom koji pod poklopcem koriste App Store Connect API. Budite spremni upotrijebiti te sjajne nove alate ili napisati vlastiti prilagođeni alat kako bi se podudarali s vašim projektnim potrebama pomoću App Store Connect API-ja.

3. Umirivanje Fastlane-a

Fastlane se koristi za automatizaciju cjevovoda za implementaciju iOS-a za mnoge iOS aplikacije i do sada je dobro služio. Kako je Apple drastično poboljšao tijek automatizacije u Xcode Serveru, a CI / CD usluge treće strane rješavaju većinu osnovnih automatizacija, korištenje alata Fastlane postaje suvišno. Apple nikad nije pružio API za povezivanje s Apple Developer portalom ili iTunes Connect. To je razlog što je većina programera za iOS odabrala Fastlane za automatizaciju cjevovoda za implementaciju iOS-a. No, Appleova najava AppStore Connect API-ja većina će alata Fastlane postati suvišna i prije ili kasnije mora se zamijeniti izvornim Appleovim razvojnim alatima. Zajednica Fastlane postala je tiha na Twitteru i Githubu, a projekt na Fastlane CI takođe je zastareo. To ukazuje da Fastlane mora prije ili kasnije otići u mirovinu. Budite spremni na sjajne alate i App Store Connect API.

Naprijed u 2019. godinu:

Bitovi alata Fastlane poput skeniranja, teretane i dalje će raditi kako bi se napravila i testirala iOS aplikacija, no prije ili kasnije morat ćete usvojiti novi tijek temeljen na App Store Connect API-u. Pripremite se za raspadanje Fastlane alata koji više nisu potrebni, npr. Ukrcavanje.

Prije ili kasnije, morate premjestiti na novi tijek rada, pa bi bila sjajna ideja započeti pripremu za nove alate i povući Fastlane i Ruby iz iOS projekata.

4. Poboljšanja TestFlight-a + Postepena izdanja

Apple je pokrenuo podršku za javne veze TestFlight gdje možemo dijeliti vezu i navesti ljude da testiraju beta aplikaciju. Javne veze mogu se slati do 10K testera, ali možemo postaviti granicu. Veze se mogu onemogućiti ili omogućiti bilo kada za kontrolu testera brojeva. Većina značajki TestFlight-a poput stvaranja grupa, dodjeljivanja nadogradnji grupi, upravljanja javnim vezama, upravljanja testera i testnih podataka može se automatizirati pomoću App Store Connect API-ja. Postupna izdanja za kontinuiranu isporuku + poboljšanja TestFlight-a mogu bolje raditi zajedno s neustrašivim izdanjima.

Naprijed u 2019. godinu:

Započnite koristiti javne veze za izradu TestFlight-a, ali budite oprezni dok dijelite. Postoji rizik da će značajke iscuriti u javnost prije nego što objavimo. Počnite automatizirati proces upravljanja testerima, grupirajte se putem App Store Connect API-ja. Iskoristite prednost postupnog izdanja za testiranje specifičnih značajki u proizvodnji bez rizika.

5. App Store Connect - aplikacija za iOS

Apple je također pokrenuo i „App Store Connect“ iOS aplikaciju, tako da možemo izvoditi gotovo sve aktivnosti s iOS uređaja bez potrebe za otvaranjem web mjesta. U iOS aplikaciji to možemo

  • Pogledajte Trendovi, prodaja i ažuriranja, kupnje putem aplikacija, paketi aplikacija
  • Sve naše aplikacije i mogućnost prelaska na razvojni tim.
  • Detaljne informacije o aplikacijama, puštanje / odbijanje aplikacija, upravljanje pregledima korisnika i postavljanje obavijesti

Mnogo je stvari o predbilježbama, kupnjama u aplikaciji itd. Iz iOS aplikacije.

Naprijed u 2019. godinu:

Iskoristite iOS aplikaciju za upravljanje svim značajkama App Store Connect sa svog mobitela.

6. Novi sustav za izgradnju Xcode

Xcode New Build System aktiviran je zadano u Xcodeu 10. Kompletnu bilješku o novom sustavu gradnje možete pročitati ovdje. U prethodnom postu na blogu opisali smo interne detalje novog sustava gradnje. Nova postavka gradnje može se aktivirati iz Xcode Files-> Project / Workspace Settings i možemo se prebacivati ​​između naslijeđenog i novog sustava gradnje. Na CI poslužitelju, iz naredbenog retka koji koristi xcodebuild, tada moramo proći dodatni parametar -UseModernBuildSystem = DA također će prisiliti novi sustav sastavljanja. Više o Xcode novom sustavu gradnje možete pročitati ovdje. Korištenjem suvremenog sustava gradnje možemo drastično poboljšati vrijeme izrade Swifta slijedeći neke ovdje navedene osnovne savjete.

Naprijed u 2019. godinu:

Xcode new build sustav dizajniran je tako da pronađe probleme koji se ne mogu odrediti uobičajenim protokom. Možda ćemo trebati prilagoditi naše iOS aplikacije kako bi pomogli da sustav pravilno funkcionira. Mogli bismo doći do nekih kvarova kad je omogućen novi sustav sastavljanja, trebali bismo ih ispraviti u letu.

7. Ispitivanje na bazi AI i paralela

Na tržištu se pojavljuju mnogi alati za testiranje mobilnih uređaja koji se temelje na AI, a koji uzimaju iOS aplikaciju, generiraju testne scenarije i izvršavaju ih u oblaku. Ovi alati također prijavljuju osnovne probleme u aplikacijama bez ikakve konfiguracije. Trenutno je malo tržišnih alata za testiranje na bazi AI / ML dostupnih na tržištu, npr. Test.ai za mobilno testiranje. Applitoolsuses AI za vizualno regresijsko ispitivanje. Bitbar je najavio rješenje za testiranje aplikacija usmjereno na AI, poznato i kao AI Testbot, za testiranje mobilnih aplikacija pomoću umjetne inteligencije. Ovi alati mogu promijeniti način izvršavanja QA aktivnosti u budućnosti i kako se alati koji se temelje na AI mogu koristiti za podršku nastojanjima testiranja iOS-a.

Apple također svake godine poboljšava tehnologije testiranja. U 2018. godini najavljena je podrška za paralelno testiranje na sljedeću razinu paralelizacijom test timova unutar jednog simulatora stvaranjem klonova simulatora. Xcode stvara drugačiji postupak pokretača pod haubom i svaki postupak dobiva određene testove. To drastično smanjuje izvršenje testa. Više o Xcode Paralelnom testiranju pogledajte ovdje.

Naprijed u 2019. godinu:

Iskoristite AI-ove alate za testiranje za testiranje iOS aplikacija i usvojite podršku za paralelno testiranje za XCTest.

8. Jednostavni načini implementacije IPA datoteka

Do sada je postojala ograničena mogućnost razmjene IPA datoteka na App Store Connect. Najčešće opcije su lokalni Xcode, program za punjenje aplikacija, Fastlane, ITMSTrasporter ili altool. Pojedinosti o ovim opcijama možete pročitati ovdje. No, u 2018. godini dobili smo još nekoliko opcija za raspoređivanje IPA datoteka

  • Korištenje ITMSTrasportera s Linux poslužitelja. Pojedinosti možete pronaći ovdje
  • Pomoću xcodebuild-a za prijenos IPA datoteke izravno u App Store. Pojedinosti možete pronaći ovdje

To će omogućiti CI / CD poslužiteljima da glatko ili čak s Linux poslužitelja glatko prenose generirane IPA datoteke u App Store.

Naprijed u 2019. godinu:

Instaliranje iOS aplikacija iz naredbenog retka pomoću alata za izradu xcode pomoću exportOptionsPlist. Pokušajte prenijeti IPA datoteke na Linux poslužitelje i upotrijebiti ITMSTransporter za implementaciju aplikacija u App Store.

9. CI za pokretne SDK i brze biblioteke

Kako popularnost mobilnih aplikacija raste, većina tvrtki treba arhitekturu da brže izrađuje mobilne aplikacije. Stoga, kako bi osigurale kvalitetu i ponovo upotrijebile postojeći kôd u više aplikacija, tvrtke su počele izrađivati ​​komplete za razvoj softvera za višekratnu upotrebu (SDK-ove) i knjižnice tako da se kôd može lako ponovno upotrijebiti u više aplikacija. Kako kôd knjižnice može utjecati na više klijenata, bitno je osigurati da kvaliteta koda SDK udovoljava zahtjevima svih klijenata. U većini tvrtki postoji postavljanje CI / CD infrastrukture za glavne aplikacije, ali nijedna za knjižnice i SDK. U stvarnosti, kontinuirana integracija knjižnica i SDK-a vrlo je važna, čak i važnija od CI-ja za glavne aplikacije.

Kontinuirana integracija za Mobile SDK može se postići različitim CI uslugama utemeljenim na oblaku, jedan moj primjer ovdje na blogu Nevercode kako se to može učiniti s Nevercodeom, ali to se može učiniti i s drugim CI uslugama koje trenutno koristite.

Naprijed u 2019. godinu:

Trend dodavanja CI za iOS SDK-ove i biblioteke definitivno će se povećati u skoroj budućnosti, tako da nabavite sve svoje SDK za mobilne uređaje i biblioteke na CI poslužitelju.

10. GitHub akcije

GitHub je pokrenuo uslugu GitHub Action koja se može koristiti za CI / CD Swift paketa iz Linux kontejnerskih spremnika. Detaljan post na blogu kako ovdje postaviti CI / CD s Github Action za Swift pakete. Github akcije mogu se smatrati GitHubovim CI / CD rješenjem ugrađenim u sam Github. Programeri mogu stvoriti radne tijekove pomoću GUI uređivača ili iz koda.

Trenutno je ova usluga ograničena na Linux docker-ove verzije, ali tko zna možemo dobiti slike macOS-a za korištenje GitHub akcija. Možemo čekati i gledati što GitHub Actions donosi razvoju iOS-a u bliskoj budućnosti.

Naprijed u 2019. godinu:

Pratite plan puta GitHub Actions za iOS CI / CD.

Zaključak

U 2018. godini dogodilo se toliko dobrih stvari da biste nesmetano puštali iOS aplikacije. Imajući na umu sve te vijesti, možemo se pripremiti za 2019. godinu i vidjeti što slijedi za izdanje iOS-a i CI / CD procesa. Nadam se da sam obuhvatila većinu priča iz 2018. godine, molim vas da me obavijestite što mislite & također me pišite ako sam išta propustila

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

Sviđa vam se ovaj post od XCBlog Autor XCTEQ? Možda će vam se svidjeti i neki od naših projekata otvorenog koda na Githubu ili nas pratite na Twitteru i LinkedInu