Passer au contenu principal
Aperçu des PR

Examinez chaque demande de tirage sur un téléphone réel

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

  • Une seule chaîne par demande de tirage
  • QR code preview
  • Nettoyage automatique lors de la fermeture du PR

Le Problème

Un changement web ne devrait pas nécessiter un nouveau binaire à passer en revue

Examiner un PR avec des builds de test

  1. 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.

  2. 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.

  3. Inviter et installer

    Les examinateurs doivent être ajoutés en tant que testeurs et installer cette version exacte.

  4. 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é.

Ce que cela coûte à l'équipe

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

How teams preview pull requests with Capgo

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.

  1. Créez une clé d'App Preview et activez les aperçus

    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
  2. Télécharger la build PR dans son propre canal

    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
  3. Publiez l'avant-première 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
  4. Supprimez le canal lorsque la PR est fermée

    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

D'autres façons pour les réviseurs de passer à un canal PR

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.

Agitez le menu

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,
}

Basculer en mode

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()

Qui utilise les prévisualisations de PR

Tout le monde qui examine la demande de tir peut la vérifier sur un téléphone, pas seulement l'auteur.

Ingénieurs QA

  • Testez la version web de la demande de tir sur votre propre appareil
  • Passer entre les canaux de PR sans devoir réinstaller l'application
  • Le nom du canal correspond au numéro de la PR, vous savez donc lequel code vous exécutez.

Gestionnaires de projet

  • Try a feature on a phone before it merges
  • Scannez le QR code affiché sur le PR
  • Laissiez des commentaires sur le PR lui-même

Développeurs

  • Get device feedback while the PR is still open
  • Chaque push met à jour le canal PR
  • Pas de build natif pour les modifications JavaScript uniquement

Stockez les builds de test par rapport aux canaux PR Capgo

  • Obtenir un PR sur un téléphone

    TestFlight / Testage de jeu
    Compilation native, signature et traitement de magasin
    Canal PR Capgo
    Web build and bundle upload from CI
  • Passer entre les PRs

    TestFlight / Testage de jeu
    Installer une autre build
    Capgo canal PR
    Scanner un autre QR code ou passer de canal
  • Configuration de l'examen

    TestFlight / Testage de jeu
    L'invitation du testeur, puis installer chaque build
    Capgo canal PR
    Installer l'application une fois
  • Modifications natives code et de plugins

    TestFlight / Testage de jeux
    Oui
    Capgo canal de PR
    Non, nécessite une build native

Applications créées avec Capacitor

Product apps need reviewable mobile changes

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.

Logo de l'application StudySmarter - École & université ÉDUCATION

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
Logo de l'application Poll Everywhere ENTREPRISE

Poll Everywhere

Application d'engagement en direct où les flux d'événement doivent être testés avant la fusion.

L'installation de Google Play
1,1M
Note de store
3.2
lichess • Jeu d'échecs en ligne gratuit TABLEAU DE JEUX

lichess • Jeu d'échecs en ligne gratuit

Application de communauté où les écrans de tournoi et d'analyse bénéficient des prévisualisations de dispositifs.

Installs sur Google Play
11,3M
Note de store
4.3

Preuves de clients

Ce que les équipes embarquées avec Capgo disent

5.0/5 évalué par les équipes de développeurs 9,400+ équipes Lire les avis

Nate van Jole

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.

Portrait de Michael Haberler

Michael Haberler

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.

no-tone @ Webincode

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

Questions fréquentes sur les prévisions de PR

Réponses claires pour les personnes qui configurent la CI et les personnes qui passent en revue.

Do reviewers need a new build for each PR?

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 native

Le CI peut-il toucher notre canal de production ?

Non 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 API

How do reviewers open the preview?

Un 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-qr

Quel est l'avenir des anciens canaux et ensembles PR ?

Ajoutez 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 CLI

Est-ce que cela fonctionne avec GitLab, Bitbucket ou Azure DevOps ?

Oui. 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/CD

Preview your next pull request on a phone

Ajoutez 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.