TL; DR: Kennen Sie gehostete CI / CD-Anbieter für iOS, deren Rechenzentrum / Build-Boxen in Asien oder zumindest in Europa liegen? (Bonuspunkte, wenn sie sowohl Build als auch Deployment bereitstellen, Build jedoch der MVP ist.)
Hintergrundgeschichte:
Wir führen CI / CD im Maßstab für iOS und Android aus: Wir führen mehr als 10 gleichzeitige Builds aus, um unsere Merge-Request-Zweige zu testen / zu verifizieren und um Trunk-Builds für unsere Tester und Stakeholder bereitzustellen. Wir verwenden einen SaaS / Cloud-Anbieter, mit dem wir ziemlich zufrieden sind ... mit Ausnahme des Standorts.
Wir sind in Asien, genau wie unsere Quelle. Der Kunde befindet sich in einer stark regulierten Branche und kämpft hart darum, die Quelle vor Ort zu halten, da er der Meinung ist, dass sein Regulierer die Quelle in der Cloud noch nicht verarbeiten kann. Bitte akzeptieren Sie diese Prämisse. Ich verstehe, warum sie es loslassen müssen. Aber jetzt ... nimm an, sie können nicht.
Das bedeutet: Die Quelle befindet sich in Asien, aber die CI / CD-Anbieter, die sie erstellen, befinden sich scheinbar alle in den USA (Circle, Buddybuild usw.). Die transpazifische Bandbreite ist besonders während des Asien-Geschäftstages schlecht. Die Zeit, die jeder Klon vor jedem Build benötigt, beträgt für einen Großteil des Geschäftstages> 60 Minuten.
Für Android-Builds auf Docker-Containern wäre es ziemlich einfach, für die CI / CD vor Ort zu gehen. Aber iOS ist das Problem. Sie müssen sich entweder darauf konzentrieren, den Mitarbeitern das Verwalten von OSX beizubringen und eine Flotte von Build-Boxen betriebsbereit zu halten, oder Sie müssen Spezialisten dieses Problem für Sie lösen lassen.
ANMERKUNGEN:
- Ich bitte nicht um Empfehlungen, SE Community! Dies ist eine sachliche technische Frage: Sind bestimmte Dienste, die bestimmte technische Anforderungen erfüllen, in einer bestimmten Region verfügbar?
- Wir wissen, dass MacStadium in Irland reine MacOS-VMs bereitstellen kann. Dies bedeutet jedoch, dass Sie Ihren gesamten CI-Prozess sowie viele einfache Systemadministrationsaufgaben auf niedriger Ebene verwalten müssen, die wir lieber vermeiden möchten. Es bedeutet natürlich auch, Build von Bereitstellung zu trennen. Die Latenz scheint jedoch akzeptabel zu sein.
- Wir kennen andere Leute, die Cloud-CI / CD-Plattformen in unserer Nähe haben ... aber ohne iOS / MacOS-Unterstützung.
- Wir wissen, dass flache Klone weniger Bandbreite benötigen, was das Problem mindern würde, aber sie haben auch andere Komplikationen, die bedeuten, dass unser aktueller Anbieter dies noch nicht unterstützt. Und sie lösen das Problem auf keinen Fall vollständig.
- Wir haben mit der Verwendung von GitHub-Spiegeln außerhalb des Unternehmens experimentiert, wodurch einige Probleme behoben werden, die regulatorischen Probleme jedoch nicht behoben werden. Es funktioniert auch nicht mit vielen Webhooks, insbesondere den Merge-Request-Webhooks, die für unsere CI-Pipeline für neuen Code von entscheidender Bedeutung sind. Wir könnten einen Agenten erstellen, der die Webhooks überwacht und dann unbedingt API-Befehle an die anderen Dienstanbieter weiterleitet ... aber das springt wirklich durch die Reifen, und wir hätten erheblichen neuen Code erstellt, um ihn zu pflegen.