Axe Watcher en entornos de Integración Continua (CI)
Cómo Axe Watcher detecta pipelines de CI y utiliza fuentes canónicas para las pruebas de accesibilidad
Cuando Axe Watcher se ejecuta en integración continua (CI) en la rama Git por defecto de tu repositorio (por ejemplo, la main), ese resultado se convierte en la fuente canónica (la única referencia con la que se comparan todas las demás exploraciones).
Qué significa Fuente Canónica
- Solo la rama por defecto califica. Las ejecuciones del pipeline en ramas de características o ramas de solicitudes de extracción se registran, pero no se convierten en la fuente canónica.
- La última ejecución del pipeline prevalece. Cada nueva ejecución de CI en la rama por defecto reemplaza la referencia previa, por lo que las comparaciones siempre reflejan el estado más reciente de CI.
- Las ejecuciones locales se comparan con CI. Cuando un desarrollador ejecuta Axe Watcher localmente, sus resultados se comparan con la última fuente canónica en lugar de con su propio escaneo más reciente. Esto proporciona a cada miembro del equipo un punto de referencia compartido en lugar de bases de referencia individuales que podrían divergir.
Permisos Requeridos
La clave de API utilizada en tu pipeline de CI debe pertenecer a un proyecto admin.
Los miembros del proyecto que no son administradores no pueden enviar datos a través de un pipeline (la solicitud fallará con un error).
Al configurar tu entorno de CI, asegúrate de que la clave de API se haya generado desde una cuenta con acceso de administrador al proyecto objetivo en Axe Developer Hub.
Ejecuciones del Pipeline en Ramas No Predeterminadas
Puedes ejecutar Axe Watcher en CI en cualquier rama, pero el comportamiento difiere de las ejecuciones en la rama predeterminada:
- Los resultados se atribuyen a "Pipeline", no al usuario individual cuya clave de API fue utilizada. En Axe Developer Hub, los datos del pipeline aparecen bajo una entrada dedicada "Pipeline" en lugar de aparecer bajo un miembro específico del equipo.
- Estas ejecuciones no se convierten en la fuente canónica. Solo las ejecuciones del pipeline en la rama por defecto establecen la referencia para comparaciones.
- Los resultados de la rama de características aún se registran. Son visibles en Axe Developer Hub cuando se selecciona la vista "Pipeline", lo cual es útil para revisar la accesibilidad en las solicitudes de extracción antes de fusionar.
Detección de CI
Axe Watcher determina si se está ejecutando en CI a través de variables de entorno:
-
Variable estándar de CI: Si
CIse establece entrue, Watcher trata la ejecución como una ejecución de pipeline y establece la fuente canónica en consecuencia. La mayoría de las plataformas de CI lo configuran automáticamente (ver Soporte de Plataforma). -
Sobrescritura explícita:
AXE_IS_CItiene prioridad sobreCIcuando ambos están presentes.Utiliza
AXE_IS_CIcuando la variable estándarCIno se ajusta a tus necesidades:-
Habilitar el modo CI en un entorno no estándar, por ejemplo, un runner autoalojado o una tarea programada que no establece
CIatrueconfigurandoAXE_IS_CIatrue. -
Deshabilitar el modo CI en un pipeline, por ejemplo, para ejecutar un escaneo exploratorio en CI sin sobrescribir la fuente canónica configurando
AXE_IS_CIafalse.
-
Cuando AXE_IS_CI está configurado, el valor de CI se ignora por completo.
Soporte de Plataforma
| Plataforma | CI configura true por defecto |
Documentación |
|---|---|---|
| GitHub Actions | sí | GitHub Docs - Referencia de Variables |
| GitLab CI | sí | GitLab Docs - Variables Predefinidas |
| CircleCI | sí | Documentación de CircleCI - Valores y Variables del Proyecto |
| Bitbucket Pipelines | sí | Soporte de Atlassian - Variables y Secretos |
| Jenkins | no (establece CI=true o AXE_IS_CI=true en tu bloque de environment) |
Uso de variables de entorno |
Revocación de Clave API
Si la clave API utilizada en tu tubería de CI es eliminada o la cuenta de usuario asociada es desactivada, las ejecuciones de la tubería ya no se autenticarán correctamente. Los resultados grabados anteriormente siguen siendo visibles en Axe Developer Hub, pero no se puede enviar nuevos datos hasta que la tubería se reconfigure con una clave API de administrador válida.
Para evitar fallos de CI cuando los miembros del equipo se van o cuando se rotan las claves, considera usar una cuenta de servicio dedicada para claves API de tuberías.
