Docs Autonomy
Intégrations

Netlify

Exécutez les tests d'un projet sur chaque déploiement Netlify et publiez le résultat sous forme de check GitHub.

L'intégration Netlify surveille vos déploiements Netlify. Quand un déploiement est prêt, Autonomy exécute un cas de test ou un plan de test d'un projet sur ce déploiement précis et, si un dépôt GitHub est associé, publie le résultat sous forme de check GitHub sur le commit.

Ce qu'elle fait

  • Lance des exécutions quand un déploiement est prêt, filtrées par type de déploiement (deploy preview, production, branch deploy) et par branche.
  • Teste le permalien propre au déploiement, comme https://<deploy-id>--site.netlify.app, si bien qu'un push plus récent ne peut pas changer ce que voit l'exécution.
  • Publie un check GitHub Autonomy QA via un dépôt associé. Netlify n'a pas d'espace de checks qui lui soit propre.
  • Met en attente les déploiements issus de pull requests de forks jusqu'à ce qu'un propriétaire de l'équipe Netlify les approuve.

Configuration

Avant de commencer

  • Un compte Netlify avec un site qui crée des deploy previews.
  • Un projet Autonomy avec un environnement doté d'une cible web. L'URL du déploiement remplace son URL web pour ces exécutions.
  • Un cas de test ou un plan de test de ce projet dont les exécutions réussissent sur un environnement de prévisualisation ou de staging.
  • Pour les checks : l'application GitHub Autonomy installée sur le dépôt à partir duquel Netlify déploie.
  1. Ouvrez Organization → Integrations → Netlify et cliquez sur Connect. Approuvez l'accès dans Netlify.
  2. Cliquez sur Link site et choisissez le site Netlify à tester.
  3. Sous Project, choisissez le projet Autonomy dont ces déploiements exécutent les tests. Le modifier par la suite efface les valeurs par défaut ci-dessous.
  4. Sous Default test case or plan, choisissez ce qui s'exécute sur chaque déploiement. Seuls les cas de test et plans de test du projet sont proposés.
  5. Sous Default environment, choisissez l'environnement du projet. Les exécutions utilisent ses valeurs et ses connexions, avec l'URL du déploiement comme cible web. Sans environnement, les déploiements sont ignorés.
  6. Sous Trigger on, choisissez les types de déploiement qui lancent une exécution, généralement Preview. Ajoutez des Branch filters pour les limiter à certaines branches.
  7. Activez Post a GitHub check via linked repository et choisissez le GitHub repository for checks.
  8. Ouvrez une pull request et vérifiez qu'une exécution démarre quand la deploy preview est prête.

Comment une exécution démarre

Quand un déploiement réussit, Autonomy :

  1. Retrouve le site associé et son projet Autonomy. Rien ne s'exécute si ce projet est archivé.
  2. Fait correspondre le type de déploiement : deploy-preview de Netlify correspond à Preview, production à Production et branch-deploy à Branch. Il le compare à Trigger on, et la branche aux Branch filters.
  3. Lance le cas de test ou le plan de test par défaut dans l'environnement par défaut, sur le permalien du déploiement.

Chaque déploiement s'exécute une seule fois. Un webhook que Netlify envoie deux fois ne lance pas de deuxième exécution.

Netlify retient un déploiement issu d'une pull request de fork jusqu'à ce qu'un propriétaire de l'équipe l'approuve. Autonomy l'affiche comme en attente, puis l'exécute une fois que le déploiement approuvé a réussi.

Le check

Avec un dépôt associé, le check GitHub porte le nom de ce qui a été exécuté, par exemple Autonomy QA: Checkout, et affiche un lien vers chaque exécution. Il se conclut ainsi :

ConclusionQuand
successToutes les exécutions ont réussi.
failureUne exécution a échoué, les exécutions ont été annulées, ou elles ne se sont pas terminées dans les 30 minutes.
neutralUne exécution n'a pas pu démarrer : il n'y a donc rien à juger.

Une exécution échouée fait échouer le check, que son résultat attendu n'ait pas été atteint ou que l'agent n'ait pas pu montrer qu'il l'a été. Le résumé en donne la raison.

Pour que les bugs fassent aussi échouer le check, activez Fail the check on issues dans Settings → Integrations → Pull requests du projet. L'option est désactivée par défaut. Une fois activée, un Bug ouvert qu'une des exécutions du check a trouvé ou rouvert fait échouer le check : « Failed: a bug was found ». Voir Tests de pull request.

Sans dépôt associé, les résultats n'apparaissent que dans Autonomy. Les paramètres de l'association vous avertissent quand les checks sont activés mais qu'aucun dépôt n'est choisi.

Sites protégés par mot de passe

Si le site ou ses déploiements sont protégés par mot de passe, collez le mot de passe dans Preview access secret sur le site associé. Autonomy l'utilise pour chaque exécution de ce site. Il est stocké comme secret et n'est plus jamais affiché.

Plusieurs sites

Associez chaque site Netlify séparément. Chaque association a son propre projet Autonomy, son plan de test, son environnement, ses types de déclenchement et ses filtres de branche. Plusieurs sites peuvent partager un même dépôt pour les checks.

Dépannage

Aucune exécution ne démarre quand une deploy preview est prête

Ouvrez le site associé dans Autonomy et consultez les déploiements récents. Un déploiement ignoré en indique la raison :

  • project disabled : l'association est désactivée.
  • deployment not ready : le déploiement est encore en cours de build ou a échoué.
  • context <x> not enabled : le type de déploiement ne figure pas dans Trigger on.
  • branch <x> filtered : la branche ne correspond pas aux Branch filters.
  • no default test target : choisissez un Default test case or plan.
  • « Choose an environment for this deploy link in Autonomy. » : choisissez un Default environment.
  • project archived, ou une valeur par défaut archivée ou appartenant à un autre projet : restaurez le projet ou choisissez de nouvelles valeurs par défaut.
  • no preview URL : Netlify n'a envoyé aucune URL pour le déploiement.

Un déploiement reste en attente

Il s'agit d'un déploiement issu d'une pull request de fork. Approuvez-le dans Netlify ; l'exécution démarre dès qu'il a réussi.

L'exécution n'atteint pas le déploiement

Le site est protégé par mot de passe. Ajoutez le mot de passe comme Preview access secret.

Aucun check n'apparaît sur la pull request

Vérifiez que Post a GitHub check via linked repository est activé, qu'un GitHub repository for checks est choisi et que l'application GitHub Autonomy y est installée.

Vous n’avez pas trouvé ?

On this page