Axe Watcher em Ambientes de Integração Contínua (CI)

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Como o Axe Watcher detecta pipelines CI e usa fontes canônicas para bases de teste de acessibilidade

Not for use with personal data

Quando o Axe Watcher roda em integração contínua (CI) no ramo Git padrão do seu repositório (por exemplo, main), esse resultado se torna a fonte canônica (a única base de referência com a qual todos os outros escaneamentos são comparados).

O que Fonte Canônica Significa

  • Apenas o ramo padrão qualifica. Execuções de pipeline em ramos de funcionalidade ou de pull request são registradas, mas não se tornam a fonte canônica.
  • A última execução de pipeline ganha. Cada nova execução de CI no ramo padrão substitui a base anterior, de modo que as comparações sempre refletem o estado mais recente do CI.
  • Execuções locais são comparadas com o CI. Quando um desenvolvedor roda o Axe Watcher localmente, seus resultados são comparados com a fonte canônica mais recente em vez de com seu próprio escaneamento mais recente. Isso proporciona a cada membro da equipe uma referência compartilhada em vez de bases de referência individuais e potencialmente divergentes.

Permissões Necessárias

A chave da API usada em seu pipeline CI deve pertencer a um projeto admin.

important

Membros de projeto não administradores não podem enviar dados por meio de um pipeline (a solicitação falhará com um erro).

Ao configurar seu ambiente CI, certifique-se de que a chave da API foi gerada a partir de uma conta com acesso de administrador ao projeto alvo no Axe Developer Hub.

Execuções de Pipeline em Ramos Não Padrão

Você pode rodar o Axe Watcher em CI em qualquer ramo, mas o comportamento difere das execuções no ramo padrão:

  • Resultados são atribuídos a "Pipeline", não ao usuário individual cuja chave da API foi usada. No Axe Developer Hub, os dados do pipeline aparecem em uma entrada dedicada "Pipeline" em vez de em um membro específico da equipe.
  • Essas execuções não se tornam a fonte canônica. Apenas execuções de pipeline no ramo padrão estabelecem a base para comparações.
  • Resultados de ramo de funcionalidade ainda são registrados. Eles são visíveis no Axe Developer Hub quando a visualização "Pipeline" é selecionada, o que é útil para revisar a acessibilidade em pull requests antes da mesclagem.

Detecção de CI

O Axe Watcher determina se está rodando em CI através de variáveis de ambiente:

  1. Variável padrão de CI: Se CI for definido como true, o Watcher trata a execução como uma execução de pipeline e define a fonte canônica de acordo. A maioria das plataformas CI define isso automaticamente (veja Suporte à Plataforma).

  2. Substituição explícita: AXE_IS_CI tem precedência sobre CI quando ambos estão presentes.

    Use AXE_IS_CI quando a variável padrão CI não corresponder às suas necessidades:

    • Habilitar modo CI em um ambiente não padrão, por exemplo, um runner auto-hospedado ou tarefa agendada que não define CI para true ao definir AXE_IS_CI para true.

    • Desabilitar modo CI em um pipeline, por exemplo, para executar um escaneamento exploratório em CI sem sobrescrever a fonte canônica ao definir AXE_IS_CI para false.

Quando AXE_IS_CI é definido, o valor de CI é totalmente ignorado.

Suporte à Plataforma

Plataforma CI define true por padrão Documentação
GitHub Actions sim GitHub Docs - Referência de Variáveis
GitLab CI sim GitLab Docs - Variáveis Predefinidas
CircleCI sim Documentação CircleCI - Valores e Variáveis do Projeto
Bitbucket Pipelines sim Suporte Atlassian - Variáveis e Segredos
Jenkins não (configure CI=true ou AXE_IS_CI=true no seu bloco environment) Usando variáveis de ambiente

Revogação de Chave API

Se a chave API utilizada no seu pipeline de CI for excluída ou se a conta de usuário associada for desativada, as execuções do pipeline não serão mais autenticadas com sucesso. Resultados registrados anteriormente permanecem visíveis no Axe Developer Hub, mas nenhum novo dado pode ser enviado até que o pipeline seja reconfigurado com uma chave API de admin válida.

Para evitar falhas de CI quando membros da equipe saem ou rotacionam chaves, considere usar uma conta de serviço dedicada para chaves API do pipeline.