Saltare al contenuto principale
Anteprima PR

Rivista ogni richiesta di pull su un telefono reale

Your CI uploads each pull request's web build to its own Capgo channel. Reviewers scan a QR code or switch channels in the app to try it on their device, and the channel is deleted when the PR closes. Changes to native code still need a new build.

Supporto umano da Martin

  • Una richiesta di pull per canale
  • Anteprima QR code
  • Elimina quando la PR si chiude

Il Problema

Un cambiamento web non dovrebbe richiedere un nuovo binario da revisionare

Valutazione di una PR con build di testing del negozio

  1. Il sviluppatore apre un PR

    Il cambiamento è pronto per la revisione, ma nessuno può ancora provare su un telefono.

  2. Costruisci, firma e carica

    Qualcuno costruisce un binario nativo per la branca, lo firma, lo carica su TestFlight o un tracciato di testing Play e attende la elaborazione.

  3. Invita e installa

    I revisori devono essere aggiunti come tester e installare quella stessa build.

  4. Ripeti per ogni correzione

    Ogni commento di revisione che cambia code significa un'altra build, un'altra carica e un'altra installazione.

Ogni giro di revisione aspetta un build nativo, anche quando è cambiato solo JavaScript.

Ciò che costa al team

Ogni build

Aspetta il trattamento del magazzino

Ogni build che carichi su TestFlight o un tracciato di testing Play viene elaborato prima che i tester possano installarlo. Ciò avviene per ogni build.

Ogni PR

Ha bisogno del proprio build nativo per testare

Senza aggiornamenti in tempo reale, i revisori possono provare solo una branch dopo che qualcuno ha costruito, firmato e caricato un nuovo binario, anche per un cambiamento web solo

Feedback ritardato

La revisione avviene dopo che l'autore si è spostato

Quando la revisione aspetta i build, il feedback arriva in ritardo, l'autore è impegnato in un'altra attività e la branch si allontana da main

Come funziona

Come le squadre prevedono le richieste di pull con Capgo

Quattro passaggi CI: impostare una chiave con ambito una volta, caricare per ogni push, condividere la anteprima, pulire alla chiusura. Ogni comando riportato di seguito proviene dai Capgo docs.

  1. Creare una chiave di anteprima per l'app e abilitare le anteprime

    Un amministratore crea una chiave di anteprima API per il CI. Può creare canali di anteprima e caricare pacchetti, ma non può modificare il canale predefinito o di produzione. Le anteprime sono abilitate una volta per app.

    # once, run by an admin (not the preview key)
    npx @capgo/cli@latest app set com.example.app --preview
    Anteprima App API chiavi
  2. Caricare il build PR nel proprio canale

    Upload il build web dell'app con una versione bundle univoca. bundle upload --channel crea il canale pr-<numero> se non esiste e collega il bundle a esso.

    npx @capgo/cli@latest bundle upload com.example.app \
      --apikey "$CAPGO_PREVIEW_KEY" \
      --path ./dist \
      --channel "pr-$PR_NUMBER" \
      --bundle "1.2.3-pr.$PR_NUMBER.$GITHUB_RUN_NUMBER"
    Anteprime PR nei canali docs
  3. Pubblicare l'anteprima sul PR

    get-qr stampa un QR code per il canale, o le URL di anteprima con --url, in modo che il CI possa aggiungerle a un commento del PR.

    npx @capgo/cli@latest get-qr com.example.app \
      --channel "pr-$PR_NUMBER" \
      --apikey "$CAPGO_PREVIEW_KEY" \
      --url
    get-qr riferimento
  4. Pulire il canale quando il PR si chiude

    Eseguire questo evento alla chiusura del pull request. Con una chiave di anteprima, rimuove solo il canale e il bundle collegato che quella chiave ha creato.

    npx @capgo/cli@latest channel delete \
      "pr-$PR_NUMBER" com.example.app \
      --apikey "$CAPGO_PREVIEW_KEY" \
      --delete-bundle \
      --success-if-not-found
    canale CLI di riferimento

Altri modi in cui i revisori passano a un canale di PR

Entrambi richiedono un canale che consente l'assegnazione auto. Una chiave di anteprima dell'app non lo stabilisce, quindi con quella chiave, condividi l'anteprima QR o imposta un override dispositivo nel console.

Sfregia menu

Attiva il menu di sfregamento nei build interni. I tester sfregano lo schermo per aprire il menu di test di Capgo e selezionare il canale di sfregamento.

// capacitor.config.ts (internal builds)
CapacitorUpdater: {
  shakeMenu: true,
}

Sfregia menu

Aggiungi un campo canale a una schermata di impostazioni dello sviluppatore e chiama setChannel() con il nome del canale PR.

import { CapacitorUpdater } from '@capgo/capacitor-updater'

await CapacitorUpdater.setChannel({
  channel: 'pr-123',
  triggerAutoUpdate: true,
})
Riferimento a setChannel()

Chi utilizza le anteprime dei PR

Chiunque stia esaminando la richiesta di pull può verificarla su un telefono, non solo l'autore.

Ingegneri QA

  • Verifica la build web del PR sul tuo dispositivo
  • Spostati tra i canali del PR senza reinstallare l'app
  • Il nome del canale corrisponde al numero del PR, quindi sai quale code stai eseguendo

Gestori di progetto

  • Try a feature on a phone before it merges
  • Scansiona il QR code pubblicato sul PR
  • Lascia un feedback sul PR stesso

Sviluppatori

  • Ricevi feedback sui dispositivi mentre il PR è ancora aperto
  • Ogni push aggiorna il canale del PR
  • No native build for JavaScript-only changes

Store testing builds vs Capgo PR channels

  • Ottenere un PR sul telefono

    TestFlight / testing Play
    Build nativo, firma e elaborazione del store
    Canale del PR Capgo
    Caricare e caricare bundle da CI
  • Passaggio tra PR

    TestFlight / Test di Play
    Installa un'altra build
    Capgo canale PR
    Scansiona un altro QR code o passa al canale
  • Configurazione del revisore

    TestFlight / Test di Play
    L'invito del tester, quindi installa ogni build
    Capgo canale PR
    Installa l'app una volta
  • Modifiche native code e plugin

    TestFlight / Test di Play
    Sì
    Capgo canale di PR
    No, richiede una compilazione nativa

Applicazioni costruite con Capacitor

Esempi di app richiedono modifiche mobili verificabili

Gli apprendimento, gli eventi e le comunità possono avere modifiche di onboarding, pratica, sessione live e sottoscrizione in rassegna contemporaneamente. Le anteprime PR consentono al prodotto, alla QA e al supporto di esaminare un build pronto per il mobile prima della fusione.

Icona dell'app di Studio e università StudySmarter Educazione

StudySmarter - Scuola &amp; università

Applicazione educativa dove le modifiche alle lezioni, corsi e abbonamenti richiedono la revisione dei soggetti interessati.

Installazioni Google Play
6,5M
Valutazione della store
4.8
Icona dell'app Poll Everywhere AZIENDA

Poll Everywhere

L'app di impegno diretto dove i flussi degli eventi dovrebbero essere testati prima della fusione.

Installazioni Google Play
1,1M
Valutazione negli store
3.2
lichess • Icona dell'app di scacchi online gratuito SCONTO DEL TABLIO

lichess • Scacchi online gratuiti

L'app di comunità dove le schermate torneo e di analisi beneficiano delle anteprime dei dispositivi.

Installazioni Google Play
11,3M
Valutazione negli store
4.3

Prova dei clienti

Ciò che gli team che spedono con Capgo dicono

5.0/5 valutato dalle squadre di sviluppatori 9,400+ le squadre Leggi le recensioni

Nate van Jole

CTO, Privato

"Ho messo insieme tutto in meno di un giorno. I rilasci basati su canale mi permettono di testare sul mio dispositivo prima che qualcosa raggiunga gli utenti in produzione."

Ritratto di Michael Haberler

Michael Haberler

nethead emeritors

Bravo per il plugin di aggiornamento. Funziona senza problemi per me, e gli aggiornamenti in tempo reale sono un acceleratore incredibile per il ritorno veloce dei test.

no-tone @ Webincode

Developatore, Webincode

&ldquo;Poter aggiungere gli ID dei dispositivi a certi gruppi e inviare le modifiche solo a certi gruppi è un salvavita.&rdquo;

FAQ

Domande che le squadre chiedono sui preview dei PR

È necessario un nuovo build per i revisori per ogni PR?

I principianti devono avere una nuova versione per ogni PR?

Not when the PR only changes the web layer. Reviewers install the app once, and each PR&#39;s JavaScript, HTML, CSS, and assets go to its own channel. If the PR adds a plugin or changes native code, it needs a native build. Run build needed in CI to detect that.

Cosa richiede una build nativa

Può il nostro canale di produzione essere toccato dalla chiave CI?

Not with an App Preview API key. It can create preview channels, upload bundles, and delete only the channel and bundle it created. It cannot change the default or main channel. In GitHub Actions, run the job on pull_request, not pull_request_target, and limit it to PRs from the same repository.

Anteprima App API chiavi

Come aprire i revisori la preview?

Un amministratore abilita le anteprime una volta con app set --preview. Dopo di che, get-qr stampa un QR code per il canale PR e --url stampa l'URL di anteprima web e il collegamento profondo. Postali in un commento di PR.

Riferimento a get-qr

Cosa succede ai vecchi canali e bundle di PR?

Aggiungi un lavoro sull'evento di chiusura della richiesta di pull che esegue il comando channel delete con --delete-bundle e --success-if-not-found. Con una chiave di anteprima dell'app, rimuove il canale e il bundle collegato. I bundle da push precedenti possono essere rimossi con il pulizia del bundle, utilizzando una chiave che ha i diritti di cancellazione.

Riferimento al canale CLI

Funziona con GitLab, Bitbucket o Azure DevOps?

Sì. I passaggi sono Capgo CLI comandi, quindi funzionano in qualsiasi CI. I documenti hanno guide di integrazione per GitHub azioni, GitLab CI, Bitbucket Pipelines e Azure DevOps.

Integrazioni CI/CD

Anteprima la tua prossima richiesta di pull su un telefono

Aggiungi le fasi di caricamento, QR e pulizia alle tue CI e prova a usarle sul tuo app durante la prova gratuita.

Supporto umano da Martin

14 giorni di prova gratuita, nessuna carta di credito. Le modifiche native richiedono ancora una nuova build.