Skip to main content

๐ŸŽ๐Ÿ’จ CD with AppCenter

We're using custom scripts to make AppCenter support our app building process.

There's one for Android (android/app/appcenter-post-clone.sh) and one for iOS (ios/appcenter-post-clone.sh). Those download latest stable Flutter and build prod flavored app with signing.

To build the dev flavored app, set a RELEASE_TARGET environment variable to development in branch build configuration.

Android setupโ€‹

Firstly, create a keystore for signing.

You need to have Java installed and available in the shell:

  • on mac, using brew: brew install openjdk,
  • on windows, just download a .msi file from here,
  • on linux or wsl, there's probably openjdk available in your package manager.

In the root project folder run: make create-android-signing. You will be asked some questions, but the passwords are the most important. Remember those and put in android/app/build.gradle in section signingConfigs:

signingConfigs {
release {
storeFile rootProject.file("upload-keystore.jks") # leave as-is
storePassword "password" # put your store password here
keyAlias "upload" # leave as-is
keyPassword "password" # put your key password here
}
}

To check if signing works, you can run make build-prod-apk. If the build process goes fine and the app is working it's done ๐Ÿพ

AppCenter Android setupโ€‹

To use signing in Android builds, set the AppCenter build like so:

image

To distribute the app automatically to the store, follow this guide.

iOS setupโ€‹

iOS builds will require .mobileprovision and .p12 files. Here's how to obtain them. Keep them somewhere safe and upload copies to AppCenter build config:

Screenshot 2021-12-13 at 12 44 10

AppCenter iOS setupโ€‹

To use signing in iOS builds, set the AppCenter build like so:

Screenshot 2021-12-13 at 12 40 22