StudySmarter - Scuola & 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
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
Il Problema
Il sviluppatore apre un PR
Il cambiamento è pronto per la revisione, ma nessuno può ancora provare su un telefono.
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.
Invita e installa
I revisori devono essere aggiunti come tester e installare quella stessa build.
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.
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
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.
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
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
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
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
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.
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,
}
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()
Chiunque stia esaminando la richiesta di pull può verificarla su un telefono, non solo l'autore.
Trova la soluzione che si adatta alle esigenze del tuo team
Applicazioni costruite con Capacitor
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.
Applicazione educativa dove le modifiche alle lezioni, corsi e abbonamenti richiedono la revisione dei soggetti interessati.
L'app di impegno diretto dove i flussi degli eventi dovrebbero essere testati prima della fusione.
L'app di comunità dove le schermate torneo e di analisi beneficiano delle anteprime dei dispositivi.
Prova dei clienti
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."
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.
Developatore, Webincode
“Poter aggiungere gli ID dei dispositivi a certi gruppi e inviare le modifiche solo a certi gruppi è un salvavita.”
FAQ
È necessario un nuovo build per i revisori per ogni PR?
Not when the PR only changes the web layer. Reviewers install the app once, and each PR'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 nativaNot 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 chiaviUn 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-qrAggiungi 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 CLISì. 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/CDAggiungi 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.