PhoneGap Build, the cloud build service for hybrid Cordova and Ionic apps, will be discontinued later this year.
The team at PhoneGap has been neglecting this service for a long time, so it’s not much of a surprise. Here at AppPresser we used their service in the past, and in this article we’ll talk about some alternatives.
Note to AppPresser customers: this article is about mobile development, it is not specific to AppPresser apps and does not affect your account.
Why Cloud Build Services Are Useful
PhoneGap Build and similar services allow a mobile developer to compile their HTML, CSS, and Javascript into a native mobile app without using Xcode or Android Studio.
This is especially useful if you are on a PC, because you cannot use Xcode on a PC. It is also useful if you have a mobile app building service, and you need your customers to be able to run builds without any special software installed.
Another use case is building an app with a large distributed team, and you want everyone to share the same build environment. If you have some serious Docker chops, or you can setup your own virtual machines in the cloud, you could probably do this yourself. This is quite complex, not to mention maintenance.
For everyone else, a cloud build service is a good option.
PhoneGap Build Alternatives
Now the PhoneGap Build is gone, what are some alternatives?
Another term used for cloud building is continuous integration, or CI. Along with that is also continuous delivery, or CD. You’ll sometimes see them as CI/CD. An example of this would be a service that pulls your git repository, runs npm build
, then sends back the compiled package to your production web server.
The big difference with CI for native apps is that you need Xcode and Android Studio, that is not possible with all providers. Here are some CI/CD services that we have personally tried here at AppPresser.
Non mobile-specific CI/CD services
There are many different CI/CD services that allow you to run native builds, such as CircleCI, TravisCI, Gitlab, and Github.
These services are great for web based projects, but native builds are a different beast. Getting these services to do everything from installing certificates to running builds and pushing to the app stores can be really complex.
We use Gitlab for some web based CI/CD, but chose not to use it for native builds. A service that solves some of the native problems for you can help you spend more time building apps, and less time fixing your CI server.
Below are some services that specialize in native builds.
Bitrise
Let’s start with our favorite, Bitrise. This is the builder we use here at AppPresser, and after running hundreds of builds, it is still working great.
Bitrise allows you to setup workflows that run through build steps one at a time. We love that you can compose these visually through their web UI.
For example, to build an Android app, you could do this in a workflow:
- Pull the git repository
- Run
npm install
and any other setup commands - Install signing certificates
- Run
ionic build android
- Push the compiled package to a web server
- Use a QR code to install the app directly on a device
You can create multiple workflows, such as building with ad hoc certificates or automatically uploading your .ipa or .apk file to the app stores. You can configure workflows in a .yml file, or visually. They also offer project level variables you can include in your steps, such as a certificate password.
It is not trivial to setup your Bitrise workflows, but it’s probably the most comprehensive mobile specific CI/CD platform. There are simpler services out there if you don’t need all the features. They have organization plans, an API to work with, as well as a free pricing plan to start.
If you are building lots of different apps, Bitrise is a good option.
Ionic Appflow
I love the work the Ionic team puts out, we use their open-source UI framework and are big fans.
Their Appflow service is a paid cloud service that includes CI/CD and automated uploads to the app store. I tried when it first came out, but I have not since. Ionic’s offering is geared towards developers on a single project, at the time of this writing a $49/mo plan is required for pushing to the app stores.
This looks like a great option if you are working on one or two apps, and you want a cloud based dashboard and other features.
Honorable mentions
Here are some other services that we don’t have personal experience with that may work great for you:
Moving to a More Comprehensive Mobile CI/CD Platform
PhoneGap Build was a decent service, but it was pretty limited. Moving to a more comprehensive CI/CD platform takes a lot of learning, but it is worth it.
With automated testing, builds, and deployment, you can speed up your development time and improve the quality of your apps.
There are not a ton of options for mobile specific CI/CD, but you only need one. If you can’t find something that will work, you can just buy a Mac, install Xcode and Android Studio, and build your apps locally 😜
If you have a recommendation for mobile specific CI/CD, drop it in the comments.