I’d say “website” fits better than “mobile app” but I like this framing from Max Lynch:
Every production mobile app ultimately has a set of recurring tasks around integration, testing, deployment, and long term maintenance. These tasks often must be automated across a team of many developers and app projects. Building a process for these tasks can be incredibly time consuming and require specialized infrastructure experience, but is critical for the success of any serious app project.
They are talking about “Continuous Integration and Continuous Deployment,” or CI/CD.
Everybody is trying to get you on their CI/CD tooling, and it’s obvious why: it’s a form of lock-in. This stuff is hard, so if they can help make it easier, that’s great, but they tend to do it in their own special way, which means you can’t just up and leave without causing a bunch of work for yourself. I ain’t throwing shade, it’s just how it is.
So much CI/CD stuff crosses my attention:
- Max was writing about AppFlow, which is a new CI/CD thing from Ionic. I haven’t used it, but hey, it looks nice. I also have not used Semaphore but it also looks nice.
- I use Buddy on CSS-Tricks.
- At CodePen, we used to Capistrano, then moved to CodeShip, then moved to GitLab (DevOps), and are now on GitHub (Actions) configured with Pulumi. That was after checking out Azure DevOps and AWS CodeBuild. Some of it involves using tools like Serverless to help get code to AWS.
- Netlify runs my builds on anything Jamstack-y I do, which is highly configurable and deployment is assumed.
- We talked with Brian Leroux on ShopTalk who is building Begin, which is serverless CI/CD.
- It feels like the big classics are Jenkins, Circle CI, and Travis CI.
- Heroku deserves a high five for teaching developers long ago that CI/CD should be Git-based and as simple as
git push heroku master.
I’m probably missing at least 20 companies here. Like I say, everybody wants you on their system. They want you storing your secrets there. They want you configuring your permissions there.