2018: Najväčší otras v rokoch pre vydanie iOS a proces CI / CD. Ako sa pripraviť na rok 2019

Pôvodné odkazy:

V roku 2018 bol svet Mobile DevOps a svet CI / CD otrasený niektorými veľkými oznámeniami a správami. Tieto oznámenia pochádzajú od spoločností Apple alebo od komunít s otvoreným zdrojovým kódom, tieto však určite zmenia tradičné spôsoby vykonávania CI / CD pre aplikácie pre iOS. V tomto príspevku sa pozrieme späť v roku 2018, aby sme sa mohli tešiť v roku 2019. Uvidíme, čo sa v roku 2018 zmenilo v aplikáciách Mobile DevOps a Continuous Delivery pre aplikácie pre iOS a ako to bude mať potenciálne dopad na vydanie iOS a proces CI / CD v 2019.

1. Apple + BuddyBuild

V novoročný deň roku 2018 Apple získal BuddyBuild a veci v Mobile DevOps sa drasticky zmenili. BuddyBuild je jednou z veľkých služieb cloudových CI / CD pre mobilné aplikácie. Keďže sa BuddyBuild stáva súčasťou spoločnosti Apple, ukončili podporu aplikácií pre Android. Taktiež prestal prijímať nových zákazníkov pre aplikácie pre iOS. Táto správa bola pre spoločnosti využívajúce službu BuddyBuild pre systémy Android a iOS jedným z veľkých otrasov. Tieto spoločnosti musia hľadať inú službu CI / CD pre aplikácie pre Android, ktorá má za následok nákladnú migračnú prácu. Bola to veľká lekcia pre spoločnosti využívajúce služby CI / CD v cloude, čo ich núti zamyslieť sa, či spravovať mobilnú infraštruktúru interne alebo ju zadať iným spoločnostiam. Pokryli sme výhody a nevýhody správy mobilnej infraštruktúry DevOps interne tu. Zlúčenie spoločností Apple a BuddyBuild spochybnilo aj budúcnosť servera Xcode. Toto je tiež výstražný zvonček pre spoločnosti, ktoré v súčasnosti používajú server Xcode.

Tešíme sa na rok 2019:

  • Hľadáte bežné multiplatformové mobilné riešenia CI / CD pre Android aj iOS? Je čas hľadať ďalšie mobilné služby špecifické pre CI / CD, ako je Travis CI, Nevercode, Bitrise, Circle CI atď., Čo je vhodné pre vašu projektovú infraštruktúru. Alebo spravujte mobilnú infraštruktúru interne pomocou Jenkins, TeamCity atď., Ak máte špecializované zdroje so zručnosťami.
  • Hľadáte riešenie iba pre iOS? Pred prechodom na iné služby počkajte, čo spoločnosť Apple + BuddyBuild ponúka, čo ponúka spoločnosť Apple + BuddyBuild.
  • Existujúci používatelia servera Xcode môžu pokračovať v používaní tak, ako sú, kým nedostaneme správy o budúcnosti servera Xcode.

2. App Store Connect API

Ďalšou prelomovou správou v roku 2018 bolo vyhlásenie spoločnosti Apple o AppStore Connect API. Na WWDC 2018 bolo oznámené oficiálne rozhranie API, ktoré bude hovoriť s portálom Apple Developer i iTunes Connect. Spoločnosť Apple tiež skombinovala portál pre vývojárov a iTunes Connect a premenovala ho na „App Store Connect“. V aplikácii App Store Connect a automatizácii App Store Connect sa konajú skvelé relácie WWDC

App Store Connect API je štandardné RESTful API založené na JWT (JSON Web Tokens) pre autentifikáciu a je prístupné zo všetkých platforiem. S API App Store Connect môžeme automatizovať takmer všetko, čo súvisí s App Store vrátane

  • Správa certifikátov, profilov poskytovania, správa ID zariadenia a ID zväzku
  • Správa používateľov, rolí a prístupu k aplikácii z App Store Connect
  • Správa testerov TestFlight a Beta a verejné odkazy
  • Sťahovanie finančných správ a správ o predaji

XCBlog sa podrobnejšie zaoberal API App Store Connect v predchádzajúcom príspevku. Rozhranie API App Store Connect odstráni z aktuálneho procesu CI / CD veľa nástrojov tretích strán. Niet divu, že na trhu budú stovky nástrojov s otvoreným zdrojovým kódom, ktoré používajú rozhranie App Store Connect API pod kapotou.

Tešíme sa na rok 2019:

Rozhranie API App Store Connect odstráni z aktuálneho procesu CI / CD veľa nástrojov tretích strán. Niet divu, že na trhu budú stovky nástrojov s otvoreným zdrojovým kódom, ktoré používajú rozhranie App Store Connect API pod kapotou. Buďte pripravení tieto lesklé nové nástroje použiť alebo napísať vlastný nástroj, ktorý vyhovuje vašim požiadavkám na projekt pomocou rozhrania API App Store Connect.

3. Odchádzajúci Fastlane

Fastlane sa používa na automatizáciu distribučných kanálov iOS pre mnoho aplikácií pre iOS a doteraz dobre fungoval. Pretože spoločnosť Apple drasticky zlepšila postup automatizácie v serveri Xcode Server a väčšina služieb CI / CD od tretích strán rieši väčšinu základnej automatizácie, takže používanie nástrojov Fastlane je nadbytočné. Spoločnosť Apple nikdy neposkytla API na pripojenie k portálu Apple Developer alebo k serveru iTunes Connect. To je dôvod, prečo si väčšina vývojárov iOS vybrala Fastlane na automatizáciu produktovodov zavádzania iOS. S oznámením spoločnosti Apple o AppStore Connect API sa však väčšina nástrojov Fastlane stane nadbytočnou a skôr či neskôr sa musí nahradiť pôvodnými vývojárskymi nástrojmi spoločnosti Apple. Komunita Fastlane tiež stíchne na Twitteri a Githube, projekt na Fastlane CI bol tiež zastaraný. To naznačuje, že Fastlane musí byť skôr alebo neskôr vyradený z dôchodku. Buďte pripravení na lesklé nástroje a rozhranie API App Store Connect.

Tešíme sa na rok 2019:

Bity nástrojov Fastlane, ako je skenovanie, telocvičňa budú stále fungovať dobre pri zostavovaní a testovaní aplikácie pre iOS, ale skôr alebo neskôr budete musieť prijať nový tok založený na API App Store Connect. Pripravte sa na odstavenie nástrojov Fastlane, ktoré už nepotrebujete, napr. Nástup na palubu.

Skôr alebo neskôr budete musieť prejsť na nový pracovný tok, takže by bolo skvelým nápadom začať sa pripravovať na nové nástroje a odchádzať z projektov iOS od spoločnosti Fastlane a Ruby.

4. TestFlight Enhancements + Phased Releases

Spoločnosť Apple spustila podporu verejných odkazov TestFlight, kde môžeme zdieľať tento odkaz a získať národy, aby vyskúšali aplikáciu beta. Verejné odkazy možno posielať až 10 000 testerom, môžeme však nastaviť limit. Odkazy je možné kedykoľvek zakázať alebo povoliť na kontrolu testerov čísel. Väčšina funkcií TestFlight, ako je vytváranie skupín, priraďovanie stavieb k skupine, správa verejných odkazov, správa testerov a testovacie informácie, sa dá automatizovať pomocou rozhrania API App Store Connect. Vydania Phased for Continuous delivery + Vylepšenia TestFlight môžu lepšie spolupracovať pri vydaní bez strachu.

Tešíme sa na rok 2019:

Začnite používať verejné odkazy na zostavenie testovacích letov, ale pri zdieľaní buďte opatrní. Pred vydaním je tu riziko úniku týchto prvkov pre verejnosť. Začnite automatizovať proces správy testerov zoskupením pomocou API App Store Connect. Využite výhody postupného uvoľňovania a otestujte konkrétne vlastnosti vo výrobe bez rizika.

5. App Store Connect-iOS App

Spoločnosť Apple tiež spustila aplikáciu pre iOS „App Store Connect“, aby sme mohli vykonávať takmer všetky činnosti zo zariadení iOS bez toho, aby sme museli ísť na webovú stránku. V aplikácii pre iOS to vieme

  • Pozrite si trendy, predaj a aktualizácie, nákupy v aplikácii, balíčky aplikácií
  • Všetky naše aplikácie a schopnosť prejsť na vývojový tím.
  • Podrobné informácie o aplikácii, uvoľnenie / zamietnutie aplikácií, správa recenzií používateľov a nastavenie upozornenia

Existuje veľa vecí o predobjednávkach, nákupoch v aplikácii atď. Z aplikácie pre iOS.

Tešíme sa na rok 2019:

Využite aplikáciu iOS na správu všetkých funkcií App Store Connect z mobilu.

6. Nový systém zostavenia Xcode

Xcode New Build System bol predvolene aktivovaný v Xcode 10. Tu si môžete prečítať kompletnú poznámku k vydaniu nového build systému. V našom predchádzajúcom blogovom príspevku sme sa zaoberali vnútornými podrobnosťami nového systému zostavovania. Nové nastavenie zostavenia je možné aktivovať v súboroch Xcode-> Project / Workspace Settings a môžeme prepínať medzi starým a novým systémom zostavovania. Na serveri CI, z príkazového riadku pomocou xcodebuild, potom musíme odovzdať ďalší parameter -UseModernBuildSystem = YES, tiež vynúti nový systém zostavenia. Viac informácií o novom systéme zostavenia Xcode, ktorý môžete použiť na predchádzajúcich stránkach XCBlog, nájdete tu. Pomocou moderného systému zostavovania môžeme výrazne vylepšiť čas zostavenia systému Swift nasledovaním niektorých základných tipov, ktoré tu boli uvedené.

Tešíme sa na rok 2019:

Nový systém zostavenia Xcode je navrhnutý tak, aby hľadal problémy, ktoré nemožno určiť obvyklým tokom. Možno bude potrebné prispôsobiť naše aplikácie pre iOS, aby sme pomohli správne zostaviť systém podľa jeho úlohy. Keď bude nový systém zostavenia povolený, mohli by sme mať nejaké chyby, mali by sme ich opraviť za behu.

7. AI-založené a paralelné testovanie

Na trhu sa objavuje veľa bezrozmerných mobilných testovacích nástrojov založených na AI, ktoré využívajú aplikáciu pre iOS, generujú testovacie scenáre a vykonávajú ich v cloude. Tieto nástroje tiež hlásia základné problémy v aplikáciách bez akejkoľvek konfigurácie. V súčasnosti existuje na trhu niekoľko mobilných testovacích nástrojov založených na AI / ML, napr. Test.ai pre mobilné testovanie. Applitoolsuses AI na vizuálne regresné testovanie. Bitbar ohlásil riešenie testovania aplikácií poháňané AI, známe tiež ako AI Testbot na testovanie mobilných aplikácií pomocou umelej inteligencie. Tieto nástroje môžu zmeniť, ako sa budú činnosti QA vykonávať v budúcnosti a ako možno použiť nástroje založené na AI na podporu úsilia v testovaní iOS.

Apple tiež každý rok vylepšuje testovacie technológie. V roku 2018 bola podpora paralelného testovania oznámená na ďalšiu úroveň paralelizáciou testovacích súborov v rámci jedného simulátora vytvorením klonov simulátorov. Xcode vytvára pod krytom iný proces bežca a každému procesu sa pridelia špecifické testy. To dramaticky znižuje vykonanie testu. Viac informácií o paralelnom testovaní Xcode tu.

Tešíme sa na rok 2019:

Využívať testovacie nástroje založené na AI na testovanie aplikácií pre iOS a prijať podporu paralelného testovania pre XCTest.

8. Jednoduché spôsoby nasadenia súborov IPA

Odteraz existovali obmedzené možnosti nasadenia súborov IPA do App Store Connect. Najbežnejšie možnosti sú lokálny Xcode, aplikačný zavádzač, Fastlane, ITMSTrasporter alebo altool. Podrobnosti o týchto možnostiach nájdete v podrobnostiach tu. V roku 2018 sme však dostali niekoľko ďalších možností na nasadenie súborov IPA

  • Použitie ITMSTrasporter zo systému Linux Server. Podrobnosti tu
  • Pomocou nástroja xcodebuild môžete nahrať súbor IPA priamo do obchodu App Store. Podrobnosti tu

To umožní serverom CI / CD nahrávať vopred vygenerované súbory IPA do obchodu App Store plynulejšie alebo dokonca zo serverov Linux.

Tešíme sa na rok 2019:

Nasadzovanie aplikácií pre iOS z príkazového riadku pomocou nástroja xcodebuild pomocou exportOptionsPlist. Skúste to preniesť súbory IPA na linuxové servery a pomocou aplikácie ITMSTransporter nasadiť aplikácie do obchodu App Store.

9. CI pre mobilné SDK a knižnice Swift

Keďže popularita mobilných aplikácií rastie, väčšina spoločností potrebuje architektúru na rýchlejšie vytváranie mobilných aplikácií. Preto s cieľom zabezpečiť kvalitu a opätovné použitie existujúceho kódu vo viacerých aplikáciách začali spoločnosti zostavovať opakovane použiteľné súpravy na vývoj softvéru (SDK) a knižnice, aby sa tento kód dal ľahko znova použiť vo viacerých aplikáciách. Pretože kód knižnice môže ovplyvniť viacerých klientov, je nevyhnutné zabezpečiť, aby kvalita kódu sady SDK spĺňala požiadavky všetkých klientov. Vo väčšine spoločností existuje infraštruktúra CI / CD pre hlavné aplikácie, ale žiadna pre knižnice a súpravy SDK. V skutočnosti je nepretržitá integrácia knižníc a SDK veľmi dôležitá, dokonca dôležitejšia ako CI pre hlavné aplikácie.

Nepretržitú integráciu pre mobilnú súpravu SDK možno dosiahnuť rôznymi službami CI založenými na cloude, jedným z mojich príkladov na blogu Nevercode, ako sa to dá urobiť s programom Nevercode, ale je možné to urobiť aj s inými službami CI, ktoré momentálne používate.

Tešíme sa na rok 2019:

Trend pridávania CI pre súpravy iOS SDK a knižnice sa v blízkej budúcnosti určite zvýši, takže získajte všetku svoju mobilnú súpravu SDK a knižnice na serveri CI.

10. Akcie GitHub

Spoločnosť GitHub uviedla na trh službu GitHub Action, ktorú je možné použiť pre CI / CD Swift Packages z ukotviteľných kontajnerov založených na Linuxe. Podrobný blogový príspevok o tom, ako nastaviť CI / CD pomocou balíkov Github Action for Swift, nájdete tu. Akcie Github môžu byť považované za vlastné riešenie CI / CD spoločnosti GitHub zabudované v samotnom Github. Vývojári môžu vytvárať pracovné toky pomocou editora GUI alebo z kódu.

V súčasnosti je táto služba obmedzená na zostavenia založené na systéme Linux Docker, ale kto vie, môžeme získať obrázky makra na použitie akcií GitHub. Môžeme počkať a pozerať sa, čo akcie GitHub Akcie prinesú do vývoja iOS v blízkej budúcnosti.

Tešíme sa na rok 2019:

Sledujte cestovnú mapu akcií GitHub pre iOS CI / CD.

záver

V roku 2018 sa vyskytlo toľko dobrých vecí, ktoré umožnili hladké uvoľnenie aplikácií pre iOS. Keď budeme mať na pamäti všetky tieto správy, môžeme sa pripraviť na rok 2019 a uvidíme, čo bude najbližšie pre vydanie iOS a proces CI / CD. Dúfam, že som priblížil väčšinu príbehov z roku 2018, dajte mi vedieť, čo si myslíte, a tiež mi pošlite ping, ak mi niečo uniklo

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

Páči sa vám tento príspevok od XCBlog Od XCTEQ? Niektoré z našich open source projektov sa vám môžu páčiť aj na stránkach Github alebo Follow us on Twitter a LinkedIn