9

TL;DR: Do you know of any hosted CI/CD providers for iOS, who have their datacenter/build-boxes in Asia, or at least Europe? (Bonus points if they provide both build and deploy, but build is the MVP.)


Back-story:

We're running CI/CD at-scale for iOS and Android: we run 10+ simultaneous builds both to test/verify our Merge-Request branches and to deploy trunk builds to our testers and stakeholders. We're using a SaaS/cloud provider we're pretty happy with... except for their location.

We're in Asia, as is our source. Client is in a highly-regulated industry and fighting hard to keep source on-prem, as they think their regulator can't handle source in the cloud yet. Please accept this premise. I understand why they need to let go of it. But for now... assume they can't.

What that means is: source is in Asia, but the CI/CD providers who build it are all seemingly in the US (Circle, Buddybuild, etc). Trans-pacific bandwidth sucks, particularly during the Asia business day. The time taken by every clone before every build spikes to >60 minutes for much of the business day.

Going on-prem for the CI/CD would be pretty easy for Android builds, on docker containers. But iOS is the problem. You either need to put yourself in the business of teaching people to admin OSX and keep a fleet of build-boxes operational, or you need to let specialists solve that problem for you.


NOTES:

  • I am not asking for recommendations, SE community! This is a factual technical question: are certain services, that meet certain technical requirements, available in a certain geography?
  • We know that MacStadium can provide bare MacOS VM's in Ireland. But that means you have to admin your own whole CI process, plus a lot of low-level system admin tasks we'd rather avoid. It also means separating build from deployment, for sure. But the latency appears to be acceptable.
  • We know of other people who have cloud CI/CD platforms closer to us... but without iOS/MacOS support.
  • We know that shallow clones require less bandwidth, which would mitigate the problem, but they also have other complications that mean our current provider doesn't support it yet. And they don't entirely solve the problem in any case.
  • We've experimented with using off-premise GitHub mirror, which solves some of the problem, but doesn't address the regulatory issues. It also doesn't work with many webhooks, and specifically the Merge-Request webhooks that are critical to our CI pipeline for new code. We could create an agent that would monitor the webhooks, then imperatively relay API commands to the other service-providers... but that's really jumping through hoops, plus we'd have created substantial new code to maintain.
  • I don't have enough information for an answer, but apparently, Microsoft's Visual Studio Teams Service allows you to build on a mac in any region. – avi Dec 6 '17 at 7:36
  • China is likely to have a ton of solutions not marketed in English yet it’s unlike that your client wants to build their software there for regulatory reasons. would expect SaaS build providers that are multi-jurisdiction to run on one of the top three cloud providers AWS, Azure or Google. they don’t advertise which as it’s “not a feature” and they want to be free to move in the future. It’s easy to research where AWS, Azure and GCP have data centres and their “region names” . So research that then google for providers naming such (eg “AWS eu-West”) coming up on support forums as hints. – simbo1905 Jan 7 at 9:02
  • google lets you search within a website with “site:circleci.com AWS Eu-west” or whatever. I have not tried that query but I would try the top 5 build providers and a list of the region names of the top three clouds would be some multiple of 15 queries that might get you an answer to post here. AWS Eu West for example is Dublin, Ireland which is Eu Hq of AWS. – simbo1905 Jan 7 at 9:05
2

One could run Jenkins on MacOS.

https://medium.com/@dixitakansha15/continuous-integration-in-ios-using-jenkins-8e081753cc72

https://savvyapps.com/blog/continuous-integration-ios-jenkins

  • 2
    Unsure this really answer the question, specially considering this point: "But that means you have to admin your own whole CI process, plus a lot of low-level system admin tasks we'd rather avoid." – Tensibai Oct 3 '17 at 7:33
  • 1
    Yes, while I appreciate poster's desire to help, the specific goal is precisely to avoid running our own MacOS Jenkins slaves. We want to stay out of the MacOS infra business, and let other people solve that for us... in Asia. – XML Nov 15 '17 at 13:12
  • one should also consider that SaaS providers often provide strong conventions and “just works” templates for modern development practices. – simbo1905 Jan 7 at 8:49
1

Issue here is that price for bandwidth in APAC 10 times higher than US, so probably you should multiply Buddybuild prices by 10 and ask them enterprise support keeping result numbers in you mind. I just did a calculations intended to provide you service and I got around 8k/month for 10 sim builds. Can pm me if you are interested.

  • Even if bandwidth is 10x expensive, is electricity and gear also 10x expensive? – chicks Dec 28 '17 at 15:01
1

Have you seen https://buildkite.com/ and especially this post for IOS https://medium.com/@Pinterest_Engineering/continuous-integration-for-ios-with-nix-and-buildkite-ef5b36c5292d? The company is based in Australia I believe.

My company uses Buildkite and I actually like it a lot (we don't build anything IOS/Mac); you do need to setup build agent which can be hosted on cloud provider or even bare metal. The CI/CD non-build server itself is hosted. It supports I think all of Github webhook.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.