TL; DR: Czy znasz dostawców hostowanych CI / CD dla iOS, którzy mają swoje centrum danych / build-boxy w Azji, a przynajmniej w Europie? (Punkty bonusowe, jeśli zapewniają zarówno kompilację, jak i wdrożenie, ale kompilacja to MVP).
Historia:
Obsługujemy CI / CD na dużą skalę dla systemów iOS i Android: uruchamiamy ponad 10 jednoczesnych kompilacji zarówno w celu testowania / weryfikacji naszych oddziałów Merge-Request, jak i wdrażania kompilacji magistrali dla naszych testerów i interesariuszy. Korzystamy z dostawcy SaaS / chmury, z którego jesteśmy całkiem zadowoleni ... z wyjątkiem ich lokalizacji.
Jesteśmy w Azji, tak jak nasze źródło. Klient jest w ściśle regulowanej branży i ciężko walczy o utrzymanie źródła na wstępie, ponieważ uważa, że jego regulator nie może jeszcze obsłużyć źródła w chmurze. Proszę zaakceptować to założenie. Rozumiem, dlaczego muszą to porzucić. Ale na razie ... zakładam, że nie mogą.
Oznacza to, że: źródło znajduje się w Azji, ale dostawcy CI / CD, którzy go budują, są najwyraźniej w Stanach Zjednoczonych (Circle, Buddybuild itp.). Pasmo trans-pacyficzne jest do kitu, szczególnie podczas azjatyckiego dnia roboczego. Czas potrzebny każdemu klonowi przed każdą kompilacją skraca się do> 60 minut przez większą część dnia roboczego.
Wprowadzenie premii za CI / CD byłoby dość łatwe w kompilacjach na Androida, na kontenerach dokerów. Ale iOS jest problemem. Musisz albo zaangażować się w nauczanie ludzi administrowania systemem OSX i utrzymywać flotę kompilatorów, albo też pozwolić specjalistom rozwiązać ten problem.
UWAGI:
- Ja nie pytając o rekomendacje, społeczność SE! To jest faktyczne pytanie techniczne: czy niektóre usługi, które spełniają określone wymagania techniczne, są dostępne w określonej lokalizacji geograficznej?
- Wiemy, że MacStadium może udostępniać gołe maszyny wirtualne MacOS w Irlandii. Oznacza to jednak, że musisz administrować całym procesem CI, a także wieloma zadaniami administracyjnymi systemu niskiego poziomu, których wolelibyśmy uniknąć. Z pewnością oznacza to także oddzielenie kompilacji od wdrożenia. Ale opóźnienie wydaje się być do przyjęcia.
- Znamy inne osoby, które mają platformy CI / CD w chmurze bliżej nas ... ale bez obsługi iOS / MacOS.
- Wiemy, że płytkie klony wymagają mniejszej przepustowości, co złagodziłoby problem, ale mają również inne komplikacje, co oznacza, że nasz obecny dostawca jeszcze go nie obsługuje. W każdym razie nie rozwiązują całkowicie problemu.
- Eksperymentowaliśmy z wykorzystaniem nieoficjalnego lustra GitHub, które rozwiązuje niektóre problemy, ale nie rozwiązuje problemów regulacyjnych. Nie działa również z wieloma hakami internetowymi, a szczególnie z hakami WWW z prośbą o scalenie, które są krytyczne dla naszego potoku CI dla nowego kodu. Moglibyśmy stworzyć agenta, który monitorowałby haki internetowe, a następnie bezwzględnie przekazywał polecenia API pozostałym dostawcom usług ... ale to naprawdę przeskakuje obręcz, a ponadto stworzylibyśmy znaczny nowy kod do utrzymania.
Odpowiedzi:
Można uruchomić Jenkins na MacOS.
https://medium.com/@dixitakansha15/continuous-integration-in-ios-using-jenkins-8e081753cc72
https://savvyapps.com/blog/continuous-integration-ios-jenkins
źródło
Czy widziałeś https://buildkite.com/, a zwłaszcza ten post dla IOS https://medium.com/@Pinterest_Engineering/continuous-integration-for-ios-with-nix-and-buildkite-ef5b36c5292d ? Firma ma siedzibę w Australii.
Moja firma korzysta z Buildkite i bardzo mi się podoba (nie budujemy niczego na IOS / Mac); musisz skonfigurować agenta kompilacji, który może być hostowany na dostawcy chmury, a nawet goły metal. Sam serwer niekompilacyjny CI / CD jest hostowany. Obsługuje myślę, że cały hak Github.
źródło
Problem w tym, że cena za przepustowość w APAC 10 razy wyższa niż w USA, więc prawdopodobnie powinieneś pomnożyć ceny Buddybuild przez 10 i poprosić o wsparcie dla przedsiębiorstw, pamiętając o liczbach wyników. Właśnie wykonałem obliczenia, które mają zapewnić ci obsługę, i dostałem około 8k / miesiąc dla 10 kompilacji SIM. Możesz wysłać mi wiadomość, jeśli jesteś zainteresowany.
źródło