TL; DR: conosci qualche provider CI / CD ospitato per iOS, che ha i loro data center / build-box in Asia o almeno in Europa? (Punti bonus se forniscono sia build che deploy, ma build è l'MVP.)
Back-storia:
Stiamo eseguendo CI / CD su larga scala per iOS e Android: eseguiamo più di 10 build simultanee sia per testare / verificare le nostre filiali di richiesta di unione sia per distribuire build di trunk ai nostri tester e stakeholder. Stiamo usando un provider SaaS / cloud di cui siamo abbastanza contenti ... tranne che per la loro posizione.
Siamo in Asia, come è la nostra fonte. Il cliente è in un settore altamente regolamentato e sta lottando duramente per mantenere la fonte on-prem, poiché pensano che il loro regolatore non sia ancora in grado di gestire la fonte nel cloud. Per favore accetta questa premessa. Capisco perché devono lasciarlo andare. Ma per ora ... supponiamo che non possano.
Ciò significa che la fonte è in Asia, ma i fornitori di CI / CD che la costruiscono sono tutti apparentemente negli Stati Uniti (Circle, Buddybuild, ecc.). La larghezza di banda trans-pacifica fa schifo, in particolare durante la giornata lavorativa in Asia. Il tempo impiegato da ogni clone prima di ogni build aumenta a> 60 minuti per gran parte della giornata lavorativa.
Andare on-prem per CI / CD sarebbe abbastanza facile per build Android, su contenitori docker. Ma iOS è il problema. O devi impegnarti a insegnare alle persone ad amministrare OSX e mantenere operativa una flotta di build-box, oppure devi lasciare che gli specialisti risolvano il problema per te.
APPUNTI:
- Io non chiedere consigli, comunità di SE! Questa è una domanda tecnica fattuale: alcuni servizi, che soddisfano determinati requisiti tecnici, sono disponibili in una determinata area geografica?
- Sappiamo che MacStadium può fornire macchine virtuali MacOS nude in Irlanda. Ciò significa che devi amministrare il tuo intero processo CI, oltre a molte attività di amministrazione di sistema di basso livello che preferiremmo evitare. Significa anche separare build dalla distribuzione, di sicuro. Ma la latenza sembra essere accettabile.
- Conosciamo altre persone che hanno piattaforme cloud CI / CD più vicine a noi ... ma senza supporto iOS / MacOS.
- Sappiamo che i cloni superficiali richiedono meno larghezza di banda, il che mitigherebbe il problema, ma hanno anche altre complicazioni che indicano che il nostro attuale fornitore non lo supporta ancora. E in ogni caso non risolvono del tutto il problema.
- Abbiamo sperimentato l'utilizzo del mirror GitHub fuori sede, che risolve alcuni dei problemi, ma non risolve i problemi normativi. Inoltre, non funziona con molti webhook e in particolare i webhook Merge-Request che sono fondamentali per la nostra pipeline CI per il nuovo codice. Potremmo creare un agente in grado di monitorare i webhook, quindi inoltrare in modo imperativo i comandi API agli altri fornitori di servizi ... ma questo sta davvero saltando attraverso i cerchi, inoltre avremmo creato un nuovo codice sostanziale da mantenere.