Managing release notes for Android and iOS apps using Fastlane
February 10, 2021
Ziel
Release Notes fuer Stores und interne Changelogs sauber trennen und mit Fastlane verwalten.
Zwei Ebenen:
- User-facing Release Notes (kurz, marketing)
- Technischer CHANGELOG (Detail, intern)
Android (Play Console)
Fastlane supply nutzt eine feste Struktur:
code
fastlane/metadata/android/en-US/changelogs/
default.txt
100000.txt
100100.txt
Regeln:
default.txtals Fallback- Dateiname =
versionCode - Pro Sprache eigener Ordner (
en-US,de-DE)
Firebase App Distribution
Fastlane Action firebase_app_distribution akzeptiert:
release_notesrelease_notes_file
Beispiel:
code
firebase_app_distribution(
app: ENV["FIREBASE_APP_ID"],
testers: ENV["FIREBASE_TESTERS"],
groups: ENV["FIREBASE_GROUPS"],
release_notes_file: "metadata/android/en-GB/changelogs/default.txt"
)
Dynamische Auswahl (versionCode)
code
android_version_code = android_get_version_code(
gradle_file: "android/app/build.gradle"
)
release_notes_file = "metadata/android/en-GB/changelogs/#{android_version_code}.txt"
fallback_file = "metadata/android/en-GB/changelogs/default.txt"
release_notes = if File.exist?(release_notes_file)
{ release_notes_file: release_notes_file }
elsif File.exist?(fallback_file)
{ release_notes_file: fallback_file }
else
{ release_notes: "Bug fixes and performance improvements" }
end
firebase_app_distribution(**release_notes)
iOS Hinweis
Release Notes fuer iOS werden meist direkt in App Store Connect verwaltet. Fastlane kann diese via deliver aktualisieren, aber die Prozesse sind haeufig team-abhaengig.