TL; DR: Connaissez-vous des fournisseurs de CI / CD hébergés pour iOS, qui ont leurs centres de données / build-box en Asie, ou au moins en Europe? (Des points bonus s'ils fournissent à la fois la construction et le déploiement, mais la construction est le MVP.)
Passé:
Nous exécutons CI / CD à grande échelle pour iOS et Android: nous exécutons plus de 10 versions simultanées à la fois pour tester / vérifier nos branches de demande de fusion et pour déployer des versions de troncs auprès de nos testeurs et parties prenantes. Nous utilisons un fournisseur SaaS / cloud dont nous sommes plutôt satisfaits ... à l'exception de leur emplacement.
Nous sommes en Asie, tout comme notre source. Le client est dans une industrie hautement réglementée et se bat dur pour garder la source sur site, car il pense que son régulateur ne peut pas encore gérer la source dans le cloud. Veuillez accepter cette prémisse. Je comprends pourquoi ils doivent l'abandonner. Mais pour l'instant ... supposons qu'ils ne peuvent pas.
Cela signifie que: la source est en Asie, mais les fournisseurs de CI / CD qui la construisent sont tous apparemment aux États-Unis (Circle, Buddybuild, etc.). La bande passante trans-pacifique craint, en particulier pendant le jour ouvrable en Asie. Le temps pris par chaque clone avant chaque pic de génération à> 60 minutes pour une grande partie de la journée ouvrable.
Aller sur site pour le CI / CD serait assez facile pour les builds Android, sur les conteneurs Docker. Mais iOS est le problème. Vous devez soit vous consacrer à enseigner aux gens à administrer OSX et à maintenir une flotte de build-boxes opérationnels, soit vous devez laisser des spécialistes résoudre ce problème pour vous.
REMARQUES:
- Je ne demande pas de recommandations, communauté SE! Il s'agit d'une question technique factuelle: certains services, répondant à certaines exigences techniques, sont-ils disponibles dans une certaine géographie?
- Nous savons que MacStadium peut fournir des machines virtuelles MacOS nues en Irlande. Mais cela signifie que vous devez administrer l'ensemble de votre propre processus CI, ainsi que de nombreuses tâches d'administration système de bas niveau que nous préférons éviter. Cela signifie également séparer la génération du déploiement, c'est sûr. Mais la latence semble acceptable.
- Nous connaissons d'autres personnes qui ont des plates-formes cloud CI / CD plus proches de nous ... mais sans prise en charge iOS / MacOS.
- Nous savons que les clones peu profonds nécessitent moins de bande passante, ce qui atténuerait le problème, mais ils ont également d'autres complications qui signifient que notre fournisseur actuel ne le prend pas encore en charge. Et ils ne résolvent pas entièrement le problème de toute façon.
- Nous avons expérimenté l'utilisation d'un miroir GitHub hors site, qui résout une partie du problème, mais ne résout pas les problèmes réglementaires. Il ne fonctionne pas non plus avec de nombreux webhooks, et en particulier les webhooks Merge-Request qui sont essentiels à notre pipeline de CI pour le nouveau code. Nous pourrions créer un agent qui surveillerait les webhooks, puis relayerait impérativement les commandes API aux autres fournisseurs de services ... mais cela saute vraiment dans les cerceaux, et nous aurions créé un nouveau code substantiel à maintenir.