Skip to main content

Auto-incrementing Build Numbers in Capacitor

Appflow provides an auto-incrementing environment variable (CI_BUILD_NUMBER) that can be used to automatically increment build numbers for your Capacitor app on iOS and Android after each build.

To do this, first install the @capacitor/configure project into your app:

npm install -D @capacitor/configure

Next, create a simple appflow.yml file with the following contents:

vars:  CI_BUILD_NUMBER:    default: 1
platforms:  ios:    buildNumber: $CI_BUILD_NUMBER  android:    versionCode: $CI_BUILD_NUMBER

Finally, add the appflow:build script to your npm scripts in package.json to run this configuration during an Appflow build:

  "scripts": {    "appflow:build": "npx cap-config run appflow.yml -y && npm run build"  },

Make sure to keep your build command as the second part of the appflow:build script to ensure your app web assets build properly.

Setting Initial Build Number#

If you'd like to start incrementing at a certain number, use the following appflow:build command instead, substituting your initial build number for the number 1234. All subsequent build numbers will be added to this number:

  "scripts": {    "appflow:build": "CI_BUILD_NUMBER=$(($CI_BUILD_NUMBER + 1234)) npx cap-config run appflow.yml -y && npm run build"  },

Learn more#

The Capacitor Configure utility has a number of additional features that may be useful in your build pipeline. Explore the ionic-team/capacitor-configure repo to learn more.