Puoi distribuire build ai tester utilizzando fastlane , una piattaforma open source che automatizza la creazione e il rilascio di app iOS e Android. Segue semplici istruzioni definite in un Fastfile
. Dopo aver configurato Fastlane e Fastfile
, puoi integrare App Distribution con la tua configurazione Fastlane.
Passaggio 1. Imposta la corsia preferenziale
Per aggiungere App Distribution alla tua configurazione Fastlane, esegui il comando seguente dalla radice del tuo progetto iOS:
fastlane add_plugin firebase_app_distribution
Se il comando richiede un'opzione, seleziona
Option 3: RubyGems.org
.
Passaggio 2. Autenticati con Firebase
Prima di poter utilizzare il plug-in Fastlane, devi prima autenticarti con il tuo progetto Firebase. Ci sono tre modi per raggiungere questo obiettivo:
- Eseguire il comando seguente:
bundle exec fastlane run firebase_app_distribution_login
Il comando stampa un collegamento di autenticazione. Apri il collegamento in un browser.
Quando richiesto, accedi al tuo account Google e concedi l'autorizzazione per accedere al tuo progetto Firebase. L'azione di accesso stampa quindi un token di aggiornamento, che il plug-in App Distribution utilizza per autenticarsi con Firebase.
- Passa il token del passaggio precedente al plug-in, utilizzando il parametro
firebase_cli_token
in un secondo momento durante la configurazione del tuo Fastfile o impostando la variabile di ambienteFIREBASE_TOKEN
:export FIREBASE_TOKEN=token
L'autenticazione con un account di servizio ti consente di utilizzare in modo flessibile il plug-in con il tuo sistema di integrazione continua (CI). Esistono due modi per fornire le credenziali dell'account di servizio:
- Passa il file della chiave dell'account di servizio all'azione
firebase_app_distribution
. Potresti trovare questo metodo conveniente se hai già il file della chiave dell'account di servizio nell'ambiente di compilazione. - Imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
in modo che punti al file della chiave dell'account di servizio. Potresti preferire questo metodo se hai già configurato le credenziali predefinite dell'applicazione (ADC) per un altro servizio Google (ad esempio, Google Cloud).
- In Google Cloud Console, seleziona il tuo progetto e crea un nuovo account di servizio.
- Aggiungi il ruolo di amministratore distribuzione app Firebase .
- Crea una chiave json privata e sposta la chiave in una posizione accessibile al tuo ambiente di compilazione. Assicurati di conservare questo file in un luogo sicuro , poiché garantisce l'accesso dell'amministratore alla distribuzione dell'app nel tuo progetto Firebase.
- Salta questo passaggio se hai creato la tua app dopo il 20 settembre 2019: nella console delle API di Google, abilita l' API Firebase App Distribution. Quando richiesto, seleziona il progetto con lo stesso nome del tuo progetto Firebase.
Fornisci o individua le credenziali del tuo account di servizio:
- Per passare la chiave dell'account di servizio all'azione
firebase_app_distribution
della tua corsia, imposta il parametroservice_credentials_file
con il percorso del file JSON della tua chiave privata Per individuare le tue credenziali con ADC, imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
sul percorso del file JSON della chiave privata. Ad esempio:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Per ulteriori informazioni sull'autenticazione con ADC, leggere Fornire credenziali all'applicazione.
- Per passare la chiave dell'account di servizio all'azione
Consulta Accedi con l'interfaccia a riga di comando di Firebase per istruzioni su come autenticare il tuo progetto.
Passaggio 3. Configura il tuo Fastfile e distribuisci la tua app
- In una corsia
./fastlane/Fastfile
, aggiungi un bloccofirebase_app_distribution
. Utilizzare i seguenti parametri per configurare la distribuzione:parametri firebase_app_distribution app
Richiesto solo se la tua app non contiene un file di configurazione Firebase (
GoogleService-Info.plist
) : l'ID app Firebase della tua app. Puoi trovare l'ID app nella console Firebase, nella pagina Impostazioni generali .app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
Il percorso del file
GoogleService-Info.plist
, relativo al percorso del prodotto archiviato. Impostare suGoogleService-Info.plist
per impostazione predefinita.Il file viene utilizzato per ottenere l'ID app Firebase della tua app se il parametro
app
non è specificato.firebase_cli_token
Un token di aggiornamento che viene stampato quando esegui l'azione di accesso del plug-in (consulta Autenticare utilizzando un account Google , sopra) o quando autentichi il tuo ambiente CI con l'interfaccia a riga di comando Firebase (leggi Usa l'interfaccia a riga di comando con i sistemi CI per ulteriori informazioni).
service_credentials_file
Il percorso del file json dell'account di servizio Google. Vedere sopra per come autenticarsi utilizzando le credenziali dell'account di servizio .
ipa_path
Sostituisce
apk_path
(obsoleto). Percorso assoluto del file IPA che desideri caricare. Se non specificato, fastlane determina la posizione del file dalla corsia in cui il file è stato generato.release_notes
release_notes_file
Note sulla versione per questa build.
Puoi specificare direttamente le note di rilascio:
release_notes: "Text of release notes"
Oppure, specifica il percorso di un file di testo normale:
release_notes_file: "/path/to/release-notes.txt"
testers
testers_file
Gli indirizzi email dei tester che vuoi invitare.
Puoi specificare i tester come un elenco di indirizzi e-mail separati da virgole:
testers: "ali@example.com, bri@example.com, cal@example.com"
In alternativa, puoi specificare il percorso di un file di testo normale contenente un elenco di indirizzi e-mail separati da virgole:
testers_file: "/path/to/testers.txt"
groups
groups_file
I gruppi di tester che desideri invitare (consulta Gestione tester ). I gruppi vengono specificati utilizzando
alias di gruppo , che puoi cercare nella console Firebase.Puoi specificare i gruppi come un elenco separato da virgole:
groups: "qa-team, trusted-testers"
In alternativa, puoi specificare il percorso di un file di testo normale contenente un elenco di nomi di gruppi separati da virgole:
groups_file: "/path/to/groups.txt"
debug
Una bandiera booleana. È possibile impostarlo su
true
per stampare un output di debug dettagliato.
Per esempio:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. firebase_app_distribution( app: "1:123456789:ios:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
Per rendere la build disponibile ai tester, esegui la tua corsia:
fastlane <lane>
Dopo aver distribuito la build, è disponibile nel dashboard di distribuzione app della console Firebase per 150 giorni. Quando la build è trascorsi 30 giorni dalla scadenza, viene visualizzato un avviso di scadenza nella console e nell'elenco delle build del tester sul dispositivo di test.
I tester che non erano stati precedentemente invitati a testare l'app ricevono inviti via e-mail per iniziare. I tester esistenti ricevono notifiche e-mail che una nuova build è pronta per il test. Per informazioni su come installare l'app di test, consulta Configurazione come tester . Puoi monitorare lo stato di ogni tester per determinare se ha accettato l'invito e se ha scaricato l'app nella console Firebase.
(Facoltativo) Per aumentare automaticamente il numero di build ogni volta che crei una nuova versione in App Distribution, puoi utilizzare l'azione firebase_app_distribution_get_latest_release
e l' azione increment_build_number
. Il codice seguente fornisce un esempio di come incrementare automaticamente il numero di build:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end
Per ulteriori informazioni su questa funzionalità del plug-in Fastlane, consulta Ottenere informazioni sull'ultima versione dell'app .
Passaggio 4 (facoltativo). Gestire i tester per la distribuzione
Puoi aggiungere e rimuovere tester dalla versione dell'app utilizzando il file Fastfile
o eseguendo direttamente le azioni Fastlane. L'esecuzione delle azioni sovrascrive direttamente i valori impostati nel tuo Fastfile
.
Dopo aver aggiunto un tester al tuo progetto Firebase, puoi aggiungerlo a singole versioni. I tester che vengono rimossi dal tuo progetto Firebase non hanno più accesso alle versioni del tuo progetto, ma potrebbero mantenere l'accesso alle tue versioni per un periodo di tempo.
Usa Fastfile
# Use lanes to add or remove testers from an app release. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" ) end
# Add or remove testers with the terminal $ fastlane add_testers $ fastlane remove_testers
Esegui azioni in corsia preferenziale
fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"
Puoi anche specificare i tester usando --file="/path/to/testers.txt
invece di --emails
.
Le attività firebase_app_distribution_add_testers
e firebase_app_distribution_remove_testers
accettano anche i seguenti argomenti:
-
project_name
: il numero del tuo progetto Firebase. -
service_credentials_file
: il percorso del file delle credenziali del servizio Google. -
firebase_cli_token
: token di autenticazione per Firebase CLI.
service_credentials_file
e firebase_cli_token
sono gli stessi argomenti utilizzati dall'azione di caricamento.
Passaggio 5 (facoltativo). Ottieni informazioni sull'ultima versione della tua app
Puoi utilizzare l'azione firebase_app_distribution_get_latest_release
per recuperare informazioni sull'ultima versione della tua app in App Distribution, comprese le informazioni sulla versione dell'app, le note sulla versione e l'ora di creazione. I casi d'uso includono l'aumento automatico della versione e il trasferimento delle note sulla versione della versione precedente.
Il valore restituito dell'azione è un hash che rappresenta l'ultima versione. Questo hash è disponibile anche utilizzando lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
. Per ulteriori informazioni sui campi disponibili in questo hash, vedere la documentazione dell'API REST .
Parametri
parametri firebase_app_distribution_get_latest_release | |
---|---|
app | Richiesto solo se la tua app non contiene un file di configurazione Firebase ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path | Il percorso del file Il file viene utilizzato per ottenere l'ID app Firebase della tua app se il parametro |
firebase_cli_token | Un token di aggiornamento che viene stampato quando esegui l'azione di accesso del plug-in (consulta Autenticare utilizzando un account Google , sopra) o quando autentichi il tuo ambiente CI con l'interfaccia a riga di comando Firebase (leggi Usa l'interfaccia a riga di comando con i sistemi CI per ulteriori informazioni). |
service_credentials_file | Il percorso del file json dell'account di servizio Google. Vedere sopra per come autenticarsi utilizzando le credenziali dell'account di servizio . |
debug | Una bandiera booleana. È possibile impostarlo su |
Prossimi passi
- Per registrare più dispositivi manualmente o in modo programmatico, consulta Registrare dispositivi iOS aggiuntivi .