Skip to content
| Marketplace
Sign in
Azure DevOps>Azure Pipelines>Firebase App Distribution
Firebase App Distribution

Firebase App Distribution

Quảng Khương Duy

|
582 installs
| (2) | Free
Firebase App Distribution makes distributing your apps to trusted testers painless. By getting your apps onto testers' devices quickly
Get it free

Firebase App Distribution Task

Overview

Firebase App Distribution makes distributing your apps to trusted testers painless. By getting your apps onto testers' devices quickly, you can gather feedback early and often. This Azure DevOps extension provides a seamless way to integrate Firebase App Distribution into your CI/CD pipeline.

Task Configuration

Required Parameters

🔑 Private Key File Path

  • Description: Enter the path to the private key obtained from the Download secure file task
  • Example: $(PrivateKeySecureFile.secureFilePath)

📦 Binary File Path

  • Description: Enter the path to the file you want to upload
  • Supported Formats: *.ipa, *.apk, *.aab, and other binary formats
  • Wildcard Support: Yes
  • Examples:
    • $(System.DefaultWorkingDirectory)/**/*.apk
    • $(Agent.BuildDirectory)/**/app-release.aab
    • /path/to/app.ipa

🆔 App ID

  • Description: Your Firebase App ID from the console
  • Location: Firebase Console → Project Settings → General Settings
  • Format: Usually in format 1:123456789:android:abcdef123456
  • Reference: Find your App ID

👥 Tester Groups

  • Description: Tester groups that should have access to the app
  • Format: Comma-separated values
  • Examples:
    • qa-team
    • beta-testers, internal-team
    • developers, qa-team, stakeholders

Release Notes Configuration

The task provides flexible options for adding release notes to your distribution:

Release Notes Method

  • Options:
    • Release Notes - Enter notes directly in the task
    • Release Notes File Path - Load notes from a file

Option 1: Direct Release Notes

  • Character Limit: 5,000 characters
  • Resizable: Yes (15 rows default)
  • Description: Enter release notes directly in the task configuration

Example:

🚀 Version 2.1.0 Release Notes

✨ New Features:
- Enhanced user authentication
- Improved offline sync
- New dashboard widgets

🐛 Bug Fixes:  
- Fixed login crash on Android 12
- Resolved memory leak in image loading
- Fixed push notification delays

⚠️ Known Issues:
- Dark mode toggle may require app restart

Option 2: Release Notes File

  • Description: Path to a text file containing release notes for the app distribution
  • Priority: File content takes precedence over direct release notes if both are provided
  • Supported Formats: Plain text files (.txt, .md)
  • File Location: Can be in repository or generated during build process

Example File Paths:

  • $(releaseNotes.secureFilePath)
  • $(System.DefaultWorkingDirectory)/release-notes.txt
  • $(Build.SourcesDirectory)/docs/CHANGELOG.md

Sample File Content:

Build v2.1.0 - $(Build.BuildNumber)

New Features:
• Enhanced security with biometric authentication
• Improved performance with 30% faster loading times
• New dark mode theme option

Bug Fixes:  
• Fixed crash when uploading large files
• Resolved sync issues in offline mode
• Fixed UI overlapping on small screens

Build Information:
• Commit: $(Build.SourceVersion)
• Branch: $(Build.SourceBranchName)
• Date: $(Build.QueueTime)

Task Instance Format

When configured, your task will appear in the pipeline as:

Firebase App Distribution {your-app-id}

Pipeline Integration Example

# Azure DevOps Pipeline Example
steps:
- task: DownloadSecureFile@1
  name: privateKey
  inputs:
    secureFile: 'firebase-private-key.json'

- task: DownloadSecureFile@1
  name: releaseNotes
  inputs:
    secureFile: 'release-notes.txt'

- task: FirebaseAppDistribution@4
  displayName: 'Distribute to Firebase'
  inputs:
    privateKeyPath: '$(privateKey.secureFilePath)'
    filePath: '$(System.DefaultWorkingDirectory)/**/*.apk'
    appId: '$(FIREBASE_APP_ID)'
    testerGroups: 'qa-team, beta-testers'
    Notes: 'file'
    releaseNotesFilePath: '$(releaseNotes.secureFilePath)'

Prerequisites

  1. Firebase Project Setup

    • Firebase project created
    • App registered in Firebase Console
    • App Distribution enabled
  2. Service Account Configuration

    • Service account created with Firebase App Distribution Admin role
    • Private key downloaded and stored as secure file in Azure DevOps
  3. Build Artifacts

    • App binary built and available in pipeline
    • Binary accessible via file path or wildcard pattern

Supported Node.js Versions

  • Node 10 ✅
  • Node 16 ✅
  • Node 20.1 ✅

Best Practices

🔐 Security

  • Store private keys as secure files, never in plain text
  • Use service accounts with minimal required permissions
  • Regularly rotate service account keys

📱 Distribution Strategy

  • Start with small tester groups for initial testing
  • Use descriptive group names (e.g., android-qa, ios-beta)
  • Maintain separate groups for different testing phases

📝 Release Notes

  • Keep notes concise but informative
  • Include build numbers and key changes
  • Use consistent formatting for better readability
  • Consider using file-based notes for complex release information

🚀 Pipeline Optimization

  • Use wildcard patterns for flexible file targeting
  • Implement conditional distribution based on branch/environment
  • Cache dependencies to improve build performance

This task seamlessly integrates Firebase App Distribution into your Azure DevOps pipeline, enabling efficient and automated app distribution to your testing teams.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft