Should Solo Developers Use Continuous Integration?
You might have heard about Continuous Integration/Delivery in software development. I’m referring to it as just CI, for shortness’s sake.
CI is something that teams in companies use to automate their testing and release processes, catch bugs, and ensure they don’t depend on single developers to make builds and releases. CI systems can be incredibly complex and expensive, and some software companies have teams dedicated to running and optimizing these systems.
For solo developers, is it worth the overhead? The short answer is that you don’t need this stuff. For indies, solo devs, or someone with a side project, the time saved isn’t likely to add up to more than the time it took to do the CI setup. Independent developers usually build and upload a version from their laptop whenever needed, which takes little time.
There is a longer answer, though. Although you don’t need it, it can still be advantageous. The first thing I do after creating a new project is set up the CI. Setting up CI is quick and easy these days, and if you’ve never done it before, I recommend doing so to learn how to do it. It doesn’t take so long that it isn’t worth the learning experience.
Recently, Apple announced that starting January 2024, your Apple Developer Program membership includes an Xcode Cloud subscription at no additional cost. Every small iOS developer now has a free CI system. This is huge news, so make sure you take advantage of it!
The benefits of CI are smaller for individuals than for teams, but they are more than worth it. You’ll know that the project works on another machine or for someone else, and it’ll tell you if you forgot to check in a file or made a test fail. If you want to develop using a beta version or some other IDE, you can do so on your machine without affecting your ability to release. All you need to do is git push, and it will get built correctly “in the cloud.”
Earlier this fall, I wanted to make an update to an app of mine that I hadn’t updated in a while. When I attempted to build the project, it spewed numerous errors. What was going on? The app was OK the last time I worked on it!
What had happened was the march of time and progress. While this project sat still, I had an updated Mac and a more recent version of Xcode. The code needed to be updated. Fortunately, I had set up CI on this project, so I could hop in there and try building on multiple older versions of Xcode until I found one that worked. After that, it was just a matter of downloading that working version, fixing all warnings, and updating all dependencies, and I was back in business!
You don’t need CI, but for iOS developers in particular, it is now both simple to set up and free, and having it may be more helpful than you think.