StudySmarter - Schule & Uni
Bildungsanwendung, bei der Lern-, Kurs- und Abonnementänderungen der Zustimmung von Stakeholdern bedürfen.
- Google Play-Installationen
- 6,5 Mio.
- Benennung des Geschäfts
- 4.8
Ihr CI lädt jede Pull-Request-Webbuild in einen eigenen Capgo Kanal hoch. Die Rezensenten scannen einen QR-code-Code oder wechseln in der App den Kanal, um es auf ihrem Gerät auszuprobieren, und der Kanal wird gelöscht, wenn der PR geschlossen wird. Änderungen an nativen code-Komponenten erfordern einen neuen Build.
14-tägige unbegrenzte kostenlose Testversion. Keine Kreditkarte erforderlich
Unternehmen benötigen? Kontaktieren Sie unser Team
Das Problem
Entwickler öffnen einen Pull-Request
Die Änderung ist für das Review bereit, aber niemand kann sie noch auf einem Telefon ausprobieren
Bauen, signieren und hochladen
Jemand baut eine native Binärdatei für den Zweig, signiert sie, lädt sie auf TestFlight oder einen Play-Test-Track hoch und wartet auf die Verarbeitung
Einladen und installieren
Zu den Reviewern müssen Testern hinzugefügt und jenes genaue Build installiert werden.
Wiederholen Sie das für jeden Fix
Jeder Review-Kommentar, der code ändert, bedeutet ein weiteres Build, ein weiteres Hochladen und ein weiteres Installieren.
Jeder Rundgang der Review wartet auf ein natives Build, selbst wenn nur JavaScript geändert wurde.
Jedes Build
Wartet auf den Store-Processing
Jedes Build, das Sie auf TestFlight oder einem Play-Test-Track hochladen, wird vorher verarbeitet, bevor Tester es installieren können. Das passiert für jedes Build.
Jeder PR
Needs its own native build to test
Ohne Live-Updates können Reviewer nur eine Zweig nach dem anderen ausprobieren, nachdem jemand ein neues Binär gebaut, unterschrieben und hochgeladen hat, selbst für eine web-only-Änderung.
Spätzeitrückmeldung
Überprüfung erfolgt nachdem der Autor weitergemacht ist
Wenn die Überprüfung auf Builds wartet, gelangt die Rückmeldung später, der Autor ist an einem anderen Projekt, und der Zweig driftet vom Hauptzweig ab
Wie es funktioniert
Vier CI-Schritte: Einmalig eine skalierte Schlüssel einrichten, pro Push hochladen, den Vorschau-Link teilen, bei Schließen aufreinigen. Jeder Befehl unten stammt aus den Capgo-Dokumentationen
An admin creates an App Preview API key for CI. It can create preview channels and upload bundles, but it cannot change your default or production channel. Previews are turned on once per app.
# once, run by an admin (not the preview key)
npx @capgo/cli@latest app set com.example.app --preview
App-Vorschau-Schlüssel API
Bei jedem Push baut CI die Webanwendung und lädt sie mit einer eindeutigen Bundle-Version hoch. bundle upload --channel erstellt den pr-<number>-Kanal, wenn dieser nicht existiert, und verknüpft den Bundle mit ihm
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"
Vorschau von Pull-Requests im Kanäldokumentationen
get-qr druckt eine QR code für den Kanal oder die Voransicht-URLs mit --url, damit CI sie in einem PR-Kommentar hinzufügen kann.
npx @capgo/cli@latest get-qr com.example.app \
--channel "pr-$PR_NUMBER" \
--apikey "$CAPGO_PREVIEW_KEY" \
--url
get-qr Referenz
Führe diesen auf dem Pull-Request-Geschlossenevent aus. Mit einem App-Voransichtsschlüssel entfernt es nur den Kanal und den mit diesem Schlüssel erstellten verbundenen Bundle.
npx @capgo/cli@latest channel delete \
"pr-$PR_NUMBER" com.example.app \
--apikey "$CAPGO_PREVIEW_KEY" \
--delete-bundle \
--success-if-not-found
Kanal CLI Referenz
Beide benötigen einen Kanal, der Selbstzuweisung ermöglicht. Ein App-Vorschausschlüssel stellt das nicht her, daher können Sie mit diesem Schlüssel entweder das QR-Vorschau-Code oder eine Geräteüberschreibung im Konsole einrichten.
Schalten Sie das Shake-Menü in internen Builds ein. Testen Sie, indem Sie das Gerät schütteln, um Capgo's Testmenü zu öffnen, und der Shake-Kanal-Selektor ermöglicht es den Testern, einen Kanal auszuwählen.
// capacitor.config.ts (internal builds)
CapacitorUpdater: {
shakeMenu: true,
}
Fügen Sie ein Kanalfeld zu einer Entwickler-Einstellungsseite hinzu und rufen Sie setChannel() mit dem PR-Kanal-Namen auf.
import { CapacitorUpdater } from '@capgo/capacitor-updater'
await CapacitorUpdater.setChannel({
channel: 'pr-123',
triggerAutoUpdate: true,
})
setChannel()-Referenz
Jeder, der den Pull-Request überprüft, kann ihn auf einem Telefon überprüfen, nicht nur der Autor.
Finden Sie die Lösung, die den Bedürfnissen Ihres Teams entspricht
Apps, die mit Capacitor erstellt wurden
Bei Lern-, Veranstaltungs- und Community-Apps können sich Anwender, Praktika, Live-Sessions und Abonnements gleichzeitig im Review-Prozess befinden. PR-Vorschauen ermöglichen es Produkt-, QA- und Support-Teams, eine mobilen-fertige Version zu überprüfen, bevor sie in die Mergin integriert werden.
Bildungsanwendung, bei der Lern-, Kurs- und Abonnementänderungen der Zustimmung von Stakeholdern bedürfen.
App für Live-Engagement, bei dem Ereignisflüsse vor dem Merge getestet werden sollten.
Die Turnier- und Analyse-Seiten profitieren von Gerätevoransichten in dieser Community-App.
Kundenbeweis
CTO, Privat
‚Die Einrichtung dauerte weniger als einen Tag. Channel-basierte Rollouts ermöglichen es mir, auf meinem eigenen Gerät zu testen, bevor etwas an Produktionsbenutzer geht.”
Netzwerkkopf-Entwickler
Großartige Arbeit am Updater-Plugin. Es funktioniert für mich fehlerlos und Live-Updates sind ein Super-Boost für schnelle Testzyklen.
Entwickler, Webincode
“Es ist ein Leben rettender Vorteil, dass man Geräte-IDs zu bestimmten Gruppen hinzufügen und die Änderungen nur an bestimmten Gruppen durchführen kann.”
FAQ
Geradlinige Antworten für diejenigen, die CI einrichten und diejenigen, die überprüfen.
Nicht, wenn der PR nur die Web-Schicht ändert. Die Reviewer installieren die App einmal, und jeder PRs JavaScript, HTML, CSS und Assets gehen in ihren eigenen Kanal. Wenn der PR ein Plugin hinzufügt oder die native code ändert, benötigt es eine native Build. Durchführen Sie eine Build in CI, um das zu erkennen.
Was benötigt eine native BuildNot 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.
App Preview API keysAn admin enables previews once with app set --preview. After that, get-qr prints a QR code for the PR channel, and --url prints the web preview URL and deep link. Post them in a PR comment.
get-qr-ReferenzFügen Sie eine Aufgabe auf dem Pull-Request-Beendigungsevent hinzu, die die channel delete mit --delete-bundle und --success-if-not-found ausführt. Mit einem App-Vorschau-Schlüssel entfernt das die Kanal und das Paket, das mit ihm verknüpft ist. Pakete aus früheren Pushs können mit der bundle cleanup entfernt werden, mit einem Schlüssel, der Löschrechte hat.
channel CLI referenceJa. Die Schritte sind Capgo CLI Befehle, also laufen sie in jedem CI. Die Dokumentation hat Integrationshandbücher für GitHub Actions, GitLab CI, Bitbucket Pipelines und Azure DevOps.
CI/CD-IntegrationenFügen Sie die Upload-, QR- und Reinigungsschritte in Ihre CI ein und testen Sie sie auf Ihrem eigenen App während der kostenlosen Testphase.
Menschliche Unterstützung von Martin
14-tägige kostenlose Testphase. Keine Kreditkarte erforderlich
14-tägige kostenlose Testphase, keine Kreditkarte. Änderungen an der Native-App benötigen einen neuen Build.