Skip to main content

Capacitação em qualidade de código em organizações e empresas

GitHub Code Quality pode abranger um repositório ou milhares de repositórios a partir de um único ponto de controle, oferecendo a todas as equipes o mesmo padrão de qualidade e dando a você as proteções necessárias para mantê-lo.

Quem pode usar esse recurso?

GitHub Team ou GitHub Enterprise Cloud

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çãoBehavior
Nenhum repositórioDesabilita Code Quality em todos os repositórios atuais e futuros da organização.
Permitir que os repositórios decidamA 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óriosHabilita 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 filtroHabilita 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:platform propriedade.

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.