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.
Réponses:
On pourrait exécuter Jenkins sur MacOS.
https://medium.com/@dixitakansha15/continuous-integration-in-ios-using-jenkins-8e081753cc72
https://savvyapps.com/blog/continuous-integration-ios-jenkins
la source
Avez-vous vu https://buildkite.com/ et surtout ce post pour IOS https://medium.com/@Pinterest_Engineering/continuous-integration-for-ios-with-nix-and-buildkite-ef5b36c5292d ? La société est basée en Australie, je crois.
Mon entreprise utilise Buildkite et j'aime vraiment beaucoup (nous ne construisons rien IOS / Mac); vous devez configurer un agent de construction qui peut être hébergé sur un fournisseur de cloud ou même sur du métal nu. Le serveur CI / CD non build lui-même est hébergé. Il prend en charge, je pense, tous les webhook Github.
la source
Le problème ici est que le prix de la bande passante dans l'APAC 10 fois plus élevé qu'aux États-Unis, alors vous devriez probablement multiplier les prix de Buddybuild par 10 et leur demander au support de l'entreprise de garder à l'esprit les résultats. Je viens de faire un calcul destiné à vous fournir un service et j'ai obtenu environ 8k / mois pour 10 builds de sim. Pouvez-vous me contacter si vous êtes intéressé.
la source