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.
Antworten:
Man könnte Jenkins unter MacOS ausführen.
https://medium.com/@dixitakansha15/continuous-integration-in-ios-using-jenkins-8e081753cc72
https://savvyapps.com/blog/continuous-integration-ios-jenkins
quelle
Haben Sie https://buildkite.com/ und insbesondere diesen Beitrag für IOS https://medium.com/@Pinterest_Engineering/continuous-integration-for-ios-with-nix-and-buildkite-ef5b36c5292d gesehen ? Ich glaube, das Unternehmen hat seinen Sitz in Australien.
Meine Firma verwendet Buildkite und ich mag es wirklich sehr (wir bauen nichts IOS / Mac); Sie müssen einen Build Agent einrichten, der auf einem Cloud-Anbieter oder sogar Bare Metal gehostet werden kann. Der CI / CD-Nicht-Build-Server selbst wird gehostet. Es unterstützt meiner Meinung nach den gesamten Github-Webhook.
quelle
Das Problem hierbei ist, dass der Preis für die Bandbreite in APAC zehnmal höher ist als in den USA. Daher sollten Sie die Buddybuild-Preise wahrscheinlich mit zehn multiplizieren und den Unternehmens-Support bitten, die Ergebniszahlen im Auge zu behalten. Ich habe gerade eine Berechnung durchgeführt, um Ihnen Service zu bieten, und ich habe ungefähr 8.000 / Monat für 10 Sim-Builds erhalten. Kann mich bei Interesse kontaktieren.
quelle