StudySmarter - École & uni
Application d'éducation où les modifications de leçon, de cours et d'abonnement nécessitent une revue des parties prenantes.
- L'installation de Google Play
- 6,5M
- Notation de magasin
- 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.
Assistance humaine de Martin
Le Problème
Le développeur ouvre un PR
Le changement est prêt à être examiné, mais personne ne peut l'essayer sur un téléphone encore.
Construire, signer et télécharger
Quelqu'un construit un binaire natif pour la branch, le signe, le télécharge sur TestFlight ou une piste de test Play, et attend la mise à jour.
Inviter et installer
Les examinateurs doivent être ajoutés en tant que testeurs et installer cette version exacte.
Répéter pour chaque correction
Chaque commentaire d'examen qui modifie code signifie un autre build, un autre téléchargement et une autre installation.
Chaque tour d'examen attend sur un build natif, même lorsque seul le JavaScript a changé.
Chaque build
Attend en attente du traitement du magasin
Chaque build que vous envoyez sur TestFlight ou un canal de test Play est traité avant que les testeurs puissent l'installer. Cela se produit pour chaque build.
Chaque PR
A besoin de sa propre build native pour être testé
Sans mises à jour en direct, les réviseurs ne peuvent essayer une branch que lorsque quelqu'un a construit, signé et téléchargé un nouveau binaire, même pour une modification web uniquement.
Feedback retardé
La revue se produit après que l'auteur a terminé
Lorsque la revue attend les builds, les retours d'information arrivent plus tard, l'auteur travaille sur autre chose et la branche s'éloigne de la branche principale.
Comment ça marche
Quatre étapes CI : configurer une clé de scope une fois, télécharger par push, partager la prévisualisation, nettoyer à la fermeture. Chaque commande ci-dessous provient des Capgo docs.
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
Clés de prévisualisation d'application API
On each push, CI builds the web app and uploads it with a unique bundle version. bundle upload --channel creates the pr-<number> channel if it does not exist and links the bundle to it.
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"
Publier la prévisualisation sur le PR
imprime-qr affiche un code QR code pour le canal, ou les URL de prévisualisation avec --url, afin que les CI puissent les ajouter à un commentaire de PR.
npx @capgo/cli@latest get-qr com.example.app \
--channel "pr-$PR_NUMBER" \
--apikey "$CAPGO_PREVIEW_KEY" \
--url
Scannez le QR
Exécutez cela lors de l'événement de fermeture de la demande de tirage. Avec une clé d'App Preview, elle supprime uniquement le canal et le bundle lié créés par cette clé.
npx @capgo/cli@latest channel delete \
"pr-$PR_NUMBER" com.example.app \
--apikey "$CAPGO_PREVIEW_KEY" \
--delete-bundle \
--success-if-not-found
canal CLI de référence
Both need a channel that allows self-assignment. An App Preview key does not set that, so with that key, share the QR preview or set a device override in the console.
Activez le menu d'agitation dans les builds internes. Les testeurs agitent le dispositif pour ouvrir le menu de test de Capgo, et le sélecteur de canal d'agitation leur permet de choisir un canal.
// capacitor.config.ts (internal builds)
CapacitorUpdater: {
shakeMenu: true,
}
Ajoutez un champ canal à une page de paramètres de développeur et appelez setChannel() avec le nom du canal PR.
import { CapacitorUpdater } from '@capgo/capacitor-updater'
await CapacitorUpdater.setChannel({
channel: 'pr-123',
triggerAutoUpdate: true,
})
Référence de setChannel()
Tout le monde qui examine la demande de tir peut la vérifier sur un téléphone, pas seulement l'auteur.
Trouvez la solution qui correspond aux besoins de votre équipe
Applications créées avec Capacitor
Les applications d'apprentissage, d'événement et de communauté peuvent avoir des modifications d'inscription, de pratique, de session en direct et d'abonnement en revue en même temps. Les aperçus PR permettent aux produits, à la QA et au support d'inspecter une mise en page mobile prête avant la fusion.
Application d'éducation où les modifications de leçon, de cours et d'abonnement nécessitent une revue des parties prenantes.
Application d'engagement en direct où les flux d'événement doivent être testés avant la fusion.
Application de communauté où les écrans de tournoi et d'analyse bénéficient des prévisualisations de dispositifs.
Preuves de clients
CTO, Privé
La mise en place a pris moins d'une journée. Les déploiements basés sur le canal me permettent de tester sur mon propre appareil avant que les utilisateurs en production ne soient touchés.
nethead emeritors
Félicitations pour le plugin de mise à jour. Il fonctionne parfaitement pour moi, et les mises à jour en temps réel sont un véritable accélérateur pour un retour rapide sur les tests.
Développeur, Webincode
“Pouvoir ajouter des identifiants de dispositif à certains groupes et pousser les modifications uniquement vers certains groupes est un sauveur de vie.”
FAQ
Réponses claires pour les personnes qui configurent la CI et les personnes qui passent en revue.
Non lorsque le PR ne modifie que la couche web. Les réviseurs installent l'application une fois, et chaque PR's JavaScript, HTML, CSS et assets vont dans leur propre canal. Si le PR ajoute un plugin ou modifie le native code, il a besoin d'une build native. Exécutez la build nécessaire dans la CI pour détecter cela.
Qu'est-ce qui nécessite une build nativeNon avec une clé de prévisualisation d'application API. Elle peut créer des canaux de prévisualisation, télécharger des ensembles et supprimer uniquement le canal et l'ensemble qu'elle a créés. Elle ne peut pas modifier le canal par défaut ou principal. Dans les GitHub Actions, exécutez la tâche sur pull_request, pas pull_request_target, et limitez-l’aux PR de la même répertoire.
Clés de prévisualisation d'application APIUn administrateur active les prévisualisations une fois avec app set --preview. Ensuite, get-qr imprime un code QR code pour le canal PR, et --url imprime l'URL de prévisualisation web et la liaison profonde. Publiez-les dans un commentaire de PR.
Référence get-qrAjoutez une tâche sur l'événement de fermeture de la demande de tirage qui exécute la suppression de canal avec --delete-bundle et --success-if-not-found. Avec une clé de prévisualisation d'application, cela supprime le canal et l'ensemble lié à celui-ci. Les ensembles de pousses antérieures peuvent être supprimés avec la mise à jour de l'ensemble, en utilisant une clé qui a les droits de suppression.
Référence de canal CLIOui. Les étapes sont Capgo CLI commandes, donc elles s'exécutent dans n'importe quel CI. Les documents ont des guides d'intégration pour GitHub Actions, GitLab CI, Bitbucket Pipelines et Azure DevOps.
Intégrations CI/CDAjoutez les étapes d'upload, QR et nettoyage à vos CI et essayez-les sur votre propre application pendant la période d'essai gratuite.
Un support humain de Martin
14-day free trial, no credit card. Native changes still need a new build.