Como a habilitação funciona em toda a sua empresa
Code Quality é controlado em três níveis, para que você possa decidir quanta autonomia fornecer às organizações e repositórios:
- Empresa: O proprietário da empresa deve primeiro habilitar Code Quality para a empresa. Até que o façam, os proprietários da organização não poderão habilitá-lo.
- Organização: Os proprietários da organização controlam quais repositórios habilitaram ou desabilitaram Code Quality , concedendo acesso a todos os repositórios, uma lista selecionada ou repositórios que correspondem a um filtro. Eles também podem impor essas configurações para que os administradores do repositório não possam alterá-las.
- Repositório: Os administradores do repositório podem habilitar ou desabilitar Code Quality para repositórios individuais, a menos que a imposição no nível da organização se aplique.
Quando Code Quality está habilitado em um repositório, a análise de CodeQL é executada por meio de GitHub Actions e exibe resultados em pull requests e no branch padrão. Os desenvolvedores veem verificações de qualidade e anotações em suas solicitações de pull.
Acesso ao repositório no nível da organização
No nível da organização, você controla Code Quality com uma única configuração de acesso do Repositório . Essa configuração determina quais repositórios Code Quality habilitaram e quais os têm desabilitados: os repositórios dentro de sua seleção estão habilitados e os repositórios fora da seleção estão desabilitados.
Importante
Alterar a configuração de acesso ao Repositório pode habilitar e desabilitar Code Quality em vários repositórios ao mesmo tempo. Por exemplo, se você habilitar Code Quality para repositórios correspondentes a um filtro, qualquer repositório que não corresponda ao filtro será desabilitado. Antes de sua alteração ser aplicada, uma caixa de diálogo mostra o número total de repositórios habilitados e desabilitados, juntamente com o impacto da cobrança.
Opções de acesso ao repositório
Você pode aplicar uma das seguintes opções de cada vez.
| Opção | Behavior |
|---|---|
| Nenhum repositório | Desabilita Code Quality em todos os repositórios atuais e futuros da organização. |
| Permitir que os repositórios decidam | A organização não habilita nem desabilita Code Quality. Os administradores do repositório escolhem se devem habilitá-lo para seus próprios repositórios. Essa opção não pode ser imposta. |
| Todos os repositórios | Habilita Code Quality para todos os repositórios atuais e futuros. |
| Repositórios selecionados | |
| Code Quality Habilita uma lista específica de repositórios que você escolher. Os repositórios que você não selecionar estão desabilitados e os novos repositórios não são habilitados automaticamente. Ideal para projetos-piloto ou exceções. | |
| Correspondendo a um filtro | Habilita os repositórios Code Quality que correspondem a um filtro que você define, agora e no futuro. Os repositórios que não correspondem estão desabilitados. Consulte repositórios de filtragem. |
Filtrando repositórios
Ao escolher Correspondência com um filtro, você cria um filtro dinâmico que habilita automaticamente Code Quality para repositórios existentes e futuros que correspondem aos critérios definidos. Isso é útil para a governança contínua em escala.
Você pode filtrar qualquer combinação dos seguintes critérios:
- Visibilidade: Se os repositórios são públicos, privados ou internos. Útil para políticas amplas, como habilitar Code Quality para todos os repositórios privados.
- Status do fork: Indica se os repositórios são forks. Útil quando as bifurcações não devem consumir recursos de análise.
- Propriedade personalizada: Se os repositórios têm um valor de propriedade personalizado específico. Por exemplo, você pode direcionar repositórios com uma
team:platformpropriedade.
Todas as condições em um filtro são combinadas com AND, portanto, um repositório deve atender a todas as condições para ser habilitado. Você também pode excluir repositórios que correspondem a condições específicas.
Controlando o acesso
Por padrão, os administradores do repositório podem alterar as configurações Code Quality dos próprios repositórios. Para evitar isso, habilite Exigir acesso.
Bloqueios de imposição nos estados habilitados e desabilitados definidos pela opção de acesso ao Repositório , portanto, os administradores do repositório não podem substituí-los. Isso melhora a consistência em toda a sua organização, mas reduz a flexibilidade para administradores individuais do repositório.
- A imposição se aplica à maioria das opções de acesso do Repositório selecionadas, incluindo Nenhum repositório, que impõe como desabilitado Code Quality .
- A aplicação não está disponível com Permitir que os repositórios decidam, o que deixa intencionalmente a escolha para os administradores do repositório.
Planejando sua implementação
Como uma única alteração na configuração de acesso ao repositório pode habilitar Code Quality em vários repositórios de uma só vez, e cada análise consome GitHub Actions minutos, vale a pena implementar isso em fases, em vez de fazer tudo de uma vez. Como você planeja, pese algumas coisas:
- Custo e capacidade. Confirme se os runners podem absorver a carga adicional GitHub Actions antes de habilitar Code Quality em larga escala.
- Quanto aplicar. A imposição oferece cobertura consistente e interrompe a recusa dos administradores de repositório, mas isso remove a flexibilidade. Deixá-lo desativado permite que as equipes o adotem no seu próprio ritmo.
- Quando expandir. Comece com um grupo piloto pequeno e representativo, confirme se a análise é executada sem problemas e os desenvolvedores confiam nas descobertas e, em seguida, ampliam sua seleção ou filtro para cobrir mais repositórios.
Para ver um procedimento de implementação passo a passo, incluindo o teste dos seus limites de qualidade no modo de avaliação antes de impô-los, consulte Implementando GitHub Code Quality em larga escala.