Netlify
Ejecuta las pruebas de un proyecto en cada despliegue de Netlify e informa del resultado como un check de GitHub.
La integración de Netlify vigila tus despliegues de Netlify. Cuando un despliegue está listo, Autonomy ejecuta un caso de prueba o un plan de pruebas de un proyecto contra ese despliegue exacto y, si hay un repositorio de GitHub vinculado, informa del resultado como un check de GitHub en el commit.
Qué hace
- Inicia ejecuciones cuando un despliegue está listo, filtradas por tipo de despliegue (deploy preview, production, branch deploy) y por rama.
- Prueba el enlace permanente del propio despliegue, como
https://<deploy-id>--site.netlify.app, para que un push posterior no cambie lo que ve la ejecución. - Publica un check de GitHub
Autonomy QAa través de un repositorio vinculado. Netlify no tiene una superficie de checks propia. - Espera a los despliegues de pull requests de forks hasta que un propietario del equipo de Netlify los aprueba.
Configuración
Antes de empezar
- Una cuenta de Netlify con un sitio que cree deploy previews.
- Un proyecto de Autonomy con un entorno que tenga un objetivo web. La URL del despliegue sustituye a su URL web en estas ejecuciones.
- Un caso de prueba o un plan de pruebas de ese proyecto que se supere contra un entorno de previsualización o de staging.
- Para los checks: la GitHub App de Autonomy instalada en el repositorio desde el que despliega Netlify.
- Abre Organization → Integrations → Netlify y pulsa Connect. Aprueba el acceso en Netlify.
- Pulsa Link site y elige el sitio de Netlify que quieres probar.
- En Project, elige el proyecto de Autonomy cuyas pruebas ejecutan estos despliegues. Si lo cambias más adelante, se borran los valores predeterminados de abajo.
- En Default test case or plan, elige qué se ejecuta en cada despliegue. Solo aparecen los casos de prueba y planes de pruebas del proyecto.
- En Default environment, elige el entorno del proyecto. Las ejecuciones usan sus valores e inicios de sesión, con la URL del despliegue como objetivo web. Sin un entorno, los despliegues se omiten.
- En Trigger on, elige los tipos de despliegue que inician una ejecución, normalmente Preview. Añade Branch filters para limitarlo a algunas ramas.
- Activa Post a GitHub check via linked repository y elige el GitHub repository for checks.
- Abre una pull request y comprueba que se inicia una ejecución cuando el deploy preview está listo.
Cómo se inicia una ejecución
Cuando un despliegue termina correctamente, Autonomy:
- Busca el sitio vinculado y su proyecto de Autonomy. No se ejecuta nada si ese proyecto está archivado.
- Traduce el tipo de despliegue:
deploy-previewde Netlify es Preview,productiones Production ybranch-deployes Branch. Lo compara con Trigger on, y la rama con Branch filters. - Inicia el caso de prueba o el plan de pruebas predeterminado en el entorno predeterminado, contra el enlace permanente del despliegue.
Cada despliegue se ejecuta una sola vez. Un webhook que Netlify envía dos veces no inicia una segunda ejecución.
Netlify retiene los despliegues de pull requests de forks hasta que un propietario del equipo los aprueba. Autonomy los muestra como pendientes y los ejecuta en cuanto el despliegue aprobado termina correctamente.
El check
Con un repositorio vinculado, el check de GitHub lleva el nombre de lo que se ejecutó, por ejemplo Autonomy QA: Checkout, y muestra un enlace a cada ejecución. Concluye como:
| Conclusión | Cuándo |
|---|---|
success | Todas las ejecuciones se superaron. |
failure | Una ejecución falló, se cancelaron las ejecuciones o no terminaron en 30 minutos. |
neutral | Una ejecución no pudo empezar, así que no hay nada que evaluar. |
Una ejecución fallida hace fallar el check, tanto si no se alcanzó su resultado esperado como si el agente no pudo demostrar que se alcanzó. El resumen da el motivo.
Para que los bugs también hagan fallar el check, activa Fail the check on issues en Settings → Integrations → Pull requests del proyecto. Está desactivado por defecto. Cuando está activado, un Bug abierto que una de las ejecuciones del check encontró o reabrió hace fallar el check: "Failed: a bug was found". Consulta Pruebas de pull requests.
Sin un repositorio vinculado, los resultados solo aparecen en Autonomy. Los ajustes del vínculo te avisan cuando los checks están activados pero no hay ningún repositorio elegido.
Sitios protegidos con contraseña
Si el sitio o sus despliegues están protegidos con contraseña, pega la contraseña en Preview access secret en el sitio vinculado. Autonomy la usa en todas las ejecuciones de ese sitio. Se guarda como secreto y no se vuelve a mostrar.
Varios sitios
Vincula cada sitio de Netlify por separado. Cada vínculo tiene su propio proyecto de Autonomy, plan de pruebas, entorno, tipos de disparador y filtros de rama. Varios sitios pueden compartir un mismo repositorio para los checks.
Solución de problemas
No se inicia ninguna ejecución cuando un deploy preview está listo
Abre el sitio vinculado en Autonomy y revisa los despliegues recientes. Un despliegue omitido indica el motivo:
project disabled: el vínculo está desactivado.deployment not ready: el despliegue todavía se está compilando o falló.context <x> not enabled: el tipo de despliegue no está en Trigger on.branch <x> filtered: la rama no coincide con Branch filters.no default test target: elige un Default test case or plan.- "Choose an environment for this deploy link in Autonomy.": elige un Default environment.
project archived, o un valor predeterminado archivado o de otro proyecto: restaura el proyecto o elige valores predeterminados nuevos.no preview URL: Netlify no envió ninguna URL para el despliegue.
Un despliegue se queda pendiente
Es un despliegue de una pull request de un fork. Apruébalo en Netlify; la ejecución empieza en cuanto termina correctamente.
La ejecución no llega al despliegue
El sitio está protegido con contraseña. Añade la contraseña como Preview access secret.
No aparece ningún check en la pull request
Comprueba que Post a GitHub check via linked repository está activado, que hay un GitHub repository for checks elegido y que la GitHub App de Autonomy está instalada en él.
¿No lo encontraste?