Skip to main content

Implementando GitHub Code Quality em larga escala

Traga Code Quality para cada equipe com confiança pilotando em um pequeno grupo primeiro e, então, expandindo assim que os limites de qualidade forem ajustados.

Quem pode usar esse recurso?

Proprietários de repositório, proprietários da organização e usuários com a função de administrador

GitHub Team ou GitHub Enterprise Cloud

Ativar Code Quality em todos os lugares ao mesmo tempo significa que cada equipe começa a ver Code Quality descobertas nas solicitações de pull no mesmo dia, o que pode ser algo surpreendente e disruptivo. Neste tutorial, você aprenderá a implantá-lo em fases: introduzir descobertas em um pequeno grupo primeiro, calibrar seus limites e, em seguida, expandir. Você provará o valor antes que ele afete toda a sua organização.

Pré-requisitos

  • Um proprietário da empresa permitiu Code Quality em sua empresa. Consulte Permitindo o uso de GitHub Code Quality na sua empresa.
  • Você é um proprietário da organização, portanto, pode habilitar Code Quality e configurar conjuntos de regras no nível da organização.

Planejar o piloto

Comece com um pequeno grupo piloto em vez de toda a sua organização. Um bom grupo piloto é uma única equipe de engenharia, ou um conjunto relacionado de aplicativos, que esteja ativo o suficiente para gerar resultados significativos e sob responsabilidade de pessoas que possam dar feedback sobre os resultados.

Para direcionar esse grupo, use a configuração de acesso do Repositório da sua organização para Code Quality. Você tem duas boas opções para um piloto:

  • Repositórios selecionados: Escolha uma lista fixa de repositórios piloto manualmente. Melhor quando o grupo piloto é pequeno e estável.
  • Correspondendo a um filtro: Habilite cada repositório que corresponda aos critérios definidos, como uma propriedade personalizada como code-quality-enabled: true. Ideal quando você deseja que o piloto cresça automaticamente à medida que as equipes marcam mais repositórios.

Usar uma propriedade personalizada para direcionamento, em vez de especificar os repositórios individualmente, significa que você poderá expandir o piloto mais tarde simplesmente definindo essa propriedade em mais repositórios. Se você quiser usar uma propriedade personalizada:

  1. Crie a propriedade personalizada. Consulte Como gerenciar propriedades personalizadas para repositórios na sua organização.
  2. Habilite Code Quality no nível da organização, para repositórios correspondentes a um filtro. Consulte Capacitação em qualidade de código em organizações e empresas.

Ativar conjuntos de regras de qualidade no modo de avaliação

Habilite os limites de qualidade no modo de avaliação primeiro. Nesse modo, Code Quality informa quais pull requests seriam bloqueadas, sem realmente bloqueá-las, para que as equipes piloto possam ver o impacto antes de isso passar a ser aplicado de forma obrigatória.

Configure seus limites como um conjunto de regras organizacional aplicado aos repositórios piloto e mantenha-o no modo de avaliação até reunir atividade suficiente de pull requests para avaliar o impacto, o que normalmente leva uma ou duas semanas. Consulte Definindo limites de qualidade de código para solicitações de pull.

Ajuste seus limiares

Use os resultados do modo de avaliação para calibrar seus limites. Verifique os insights do conjunto de regras (o histórico do conjunto de regras) para saber exatamente quais pull requests teriam sido bloqueadas e por quê. Se muitas pull requests fossem bloqueadas, os limites configurados poderiam estar mais rigorosos do que a base de código consegue atender no momento. Se quase nada seria bloqueado, talvez seja melhor torná-los mais rígidos. Ajuste até que a porta reflita o nível de qualidade que você realmente deseja impor.

Mudar para o modo de aplicação

Quando os resultados do modo de avaliação parecerem corretos, alterne o conjunto de regras de Avaliar para Ativo. Os limites agora começam a bloquear pull requests que não os atendam. As equipes piloto passam pela porta imposta, dando a você uma verificação final antes de ampliar a distribuição.

Expanda por toda a sua organização

Amplie a implementação usando o que você aprendeu no projeto piloto. Você pode ampliá-lo de duas maneiras:

  • Adicione repositórios à sua lista de repositórios selecionados ou defina sua propriedade personalizada em mais repositórios que correspondam ao filtro.
  • Quando estiver confiante em seus limites, alterne a configuração de acesso do Repositório para Todos os repositórios a serem aplicadosCode Quality em toda a sua organização em uma única alteração.

Algumas coisas para saber como a habilitação no nível da organização se comporta, para que você possa escolher a abordagem certa:

  • Sua opção de acesso ao Repositório se aplica a repositórios existentes e futuros, portanto, os repositórios criados posteriormente herdam sua escolha automaticamente. Isso é verdadeiro para todos os repositórios, correspondendo a um filtro e sem repositórios.
  • Ative Impor acesso para uma linha de base garantida que os administradores de repositório não possam substituir. Deixe-o desativado ou escolha Deixar os repositórios decidirem, para permitir às equipes aceitar dentro da própria linha do tempo.
  • Ativar Code Quality não ativa automaticamente a cobertura de código. A cobertura é aceita por repositório. Ela só começará a gerar relatórios depois que alguém adicionar um fluxo de trabalho que carrega dados de cobertura, para que as equipes possam adotar Code Quality primeiro e adicionar a cobertura depois. Consulte Configurando a cobertura de código para seu repositório.

Para obter a lista completa de opções de acesso e como a imposição funciona, consulte Capacitação em qualidade de código em organizações e empresas.

Escalar programaticamente

Para a maioria das distribuições, habilitar por meio da interface do usuário é o melhor ponto de partida: permite filtrar e direcionar repositórios diretamente, o que é mais difícil de reproduzir em um script.

Se precisar de automação para a distribuição, você poderá obter Code Quality resultados por meio da API REST, o que é útil para gerar relatórios sobre o progresso à medida que você expande. Você também pode habilitar Code Quality em repositórios por meio da API REST, para que você possa habilitar o script em toda a sua organização em vez de habilitar cada repositório na interface do usuário. Consulte Endpoints da API REST para qualidade de código.

Próximas Etapas