AppCenter Automatic Build Distribution Setup
Microsoft AppCenter (now partially migrating to Visual Studio App Center, though service continues) was standard for test build distribution in enterprise projects—especially teams already using Azure DevOps. Convenient because it combines distribution, crash reporting (Crashes SDK), and analytics in one place.
Setup via Fastlane
Fastlane appcenter plugin:
lane :distribute do
# Android
gradle(task: "assemble", build_type: "Release")
appcenter_upload(
api_token: ENV["APPCENTER_API_TOKEN"],
owner_name: ENV["APPCENTER_OWNER"],
app_name: ENV["APPCENTER_APP_NAME_ANDROID"],
file: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH],
destinations: "QA-Team,Stakeholders",
destination_type: "group",
release_notes: "Branch: #{git_branch}"
)
end
APPCENTER_API_TOKEN created in Account Settings → API Tokens. Token can be restricted to specific app—recommended not to use full access.
Via AppCenter CLI Directly
appcenter distribute release \
--app "MyOrg/MyApp-Android" \
--file app/build/outputs/apk/release/app-release.apk \
--group "QA-Team" \
--release-notes "Build $CI_BUILD_NUMBER" \
--token "$APPCENTER_API_TOKEN"
CLI installed via npm install -g appcenter-cli. In CI add install step or use cached node_modules.
AppCenter Built-In CI
AppCenter has own CI—Build service. Configured via GUI: connect repository (GitHub, Azure Repos, Bitbucket), select branch, configure build.gradle or *.xcworkspace. Convenient for teams without own CI, but has limitations: no flexible matrix, no multi-module custom Gradle scripts support, free tier limited by minutes.
iOS Specifics
Need .ipa signed with ad-hoc or enterprise provisioning profile. AppCenter supports uploading certificate and profile directly in app settings (Code Signing section). When certificate changes, update in AppCenter manually—no auto-sync with Apple Developer Portal.
Tester Groups and Notifications
AppCenter can send email notifications to groups automatically on new release. Groups created in Distribution Groups. Can set mandatory_update: true—then old app versions show forced update via AppCenter SDK.
Process
Create apps in AppCenter → setup API token → integrate in existing CI (Fastlane lane or CLI call) → setup groups → test distribution → document.
Timeline: 1–3 days. Cost calculated individually after analyzing current CI and platforms (iOS / Android / both).







