I'm trying to figure out a CI/CD setup for an iOS application, but here's the catch: we can't use macOS Jenkins agents due to cost and availability issues with Mac hardware. Our Jenkins setup runs entirely on Linux nodes, and we would like to keep it that way. I recently found xtool, which claims to support running iOS builds from Linux by leveraging their cloud macOS environment. I'm curious if anyone has successfully run their entire iOS CI/CD pipeline from Linux Jenkins using xtool. Have you used xtool in a production setting, and how reliable is it? What limitations have you encountered, particularly regarding signing, keychain management, test runners, and build times? Is xtool a solid alternative to having a Jenkins Mac node, or is there something vital in the iOS build process that still necessitates having macOS locally? Any insights or experiences would be greatly appreciated!
4 Answers
If you want to avoid issues, it’s better to have your own Macs or opt for managed cloud ones. Apple's ecosystem is pretty particular.
Xtool acts as a remote executor, meaning it still relies on macOS machines in the background. The key points to consider are whether their cloud Macs perform well, remain stable, and aren't overloaded. Critical steps in the pipeline like codesigning, keychain management, provisioning profiles, and XCTest require a macOS environment. If you're comfortable with their remote Mac service, it's a feasible option, but if not, you might struggle with troubleshooting issues you can't replicate locally.
Honestly, just push for your company to invest in a Mac mini. I haven't developed for iOS in a while, but that still seems like the easiest route.
Yeah, we lease a set of Mac Minis and run all of our iOS builds on those. It’s been smooth sailing since!
I've used virtual machines in the past for this, but the tools back then were pretty rough. I’ve heard some new tools have been developed since then that might be useful.

That's exactly what we did! I know the EC2 Mac minis are super pricey, but we decided to rent an office space to set up a few affordable Mac minis for our needs. It’s been working out well for us!