Skip to main content

Habilitación de la calidad del código en organizaciones y empresas

GitHub Code Quality puede abarcar un repositorio o miles de ellos desde un único punto de control, proporcionando a todos los equipos el mismo nivel de calidad de referencia y los mecanismos de control necesarios para mantenerlo.

¿Quién puede utilizar esta característica?

GitHub Team o GitHub Enterprise Cloud

Funcionamiento de la habilitación en toda la empresa

Code Quality se controla en tres niveles, por lo que puede decidir cuánto autonomía asignar a las organizaciones y repositorios:

  • Empresa: El propietario de una empresa debe primero permitir Code Quality para la empresa. Hasta que lo hagan, los propietarios de la organización no pueden habilitarlo.
  • Organización: Los propietarios de la organización controlan qué repositorios han Code Quality habilitado o deshabilitado, concediéndole acceso a todos los repositorios, una lista seleccionada o repositorios que coinciden con un filtro. También pueden aplicar esta configuración para que los administradores del repositorio no puedan cambiarlos.
  • Repositorio: Los administradores del repositorio pueden habilitar o deshabilitar Code Quality en repositorios individuales, a menos que se aplique la aplicación obligatoria a nivel de organización.

Cuando Code Quality está habilitado en un repositorio, el análisis de CodeQL se ejecuta a través de GitHub Actions y muestra los hallazgos en las solicitudes de incorporación de cambios y en la rama predeterminada. Los desarrolladores ven comprobaciones de calidad y anotaciones en sus solicitudes de incorporación de cambios.

Acceso al repositorio de nivel de organización

A nivel de la organización, controla Code Quality mediante una única configuración de Acceso al repositorio. Esta configuración determina qué repositorios tienen Code Quality habilitado y cuáles lo tienen deshabilitado: los repositorios dentro de su selección están habilitados y los repositorios fuera de su selección están deshabilitados.

Importante

Cambiar la configuración de acceso del repositorio puede habilitar y deshabilitar Code Quality en muchos repositorios a la vez. Por ejemplo, si habilita Code Quality para los repositorios que coinciden con un filtro, se deshabilita cualquier repositorio que no coincida con el filtro. Antes de aplicar el cambio, un cuadro de diálogo muestra el número total de repositorios habilitados y deshabilitados, junto con el impacto en la facturación.

Opciones de acceso al repositorio

Puede aplicar una de las siguientes opciones a la vez.

OpciónComportamiento
No hay repositoriosDeshabilita Code Quality para todos los repositorios actuales y futuros de la organización.
Permitir que los repositorios decidanLa organización no habilita ni deshabilita Code Quality. Los administradores del repositorio eligen si se habilitarán para sus propios repositorios. Esta opción no se puede aplicar.
Todos los repositoriosHabilita Code Quality para todos los repositorios actuales y futuros.
Repositorios seleccionadosHabilita Code Quality para una lista concreta de repositorios que elijas. Los repositorios que no seleccione están deshabilitados y los repositorios nuevos no se habilitan automáticamente. Ideal para pilotos o excepciones.
Coincide con un filtroHabilita Code Quality para los repositorios que coincidan con un filtro que definas, ahora y en el futuro. Los repositorios que no coinciden están deshabilitados. Consulte Filtrado de repositorios.

Filtrado de repositorios

Al elegir Buscar coincidencias con un filtro, se crea un filtro dinámico que habilita Code Quality automáticamente los repositorios existentes y futuros que coinciden con los criterios. Esto es útil para la gobernanza continua a escala.

Puede filtrar por cualquier combinación de los criterios siguientes:

  • Visibilidad: Si los repositorios son públicos, privados o internos. Resulta útil para directivas amplias, como habilitar Code Quality para todos los repositorios privados.
  • Estado de bifurcación: Indica si los repositorios son bifurcaciones. Resulta útil cuando las bifurcaciones no deben consumir recursos de análisis.
  • Propiedad personalizada: Si los repositorios tienen un valor de propiedad personalizado específico. Por ejemplo, podría seleccionar repositorios con una propiedad team:platform.

Todas las condiciones de un filtro se combinan con AND, por lo que un repositorio debe coincidir con todas las condiciones que se van a habilitar. También puede excluir repositorios que coincidan con condiciones específicas.

Aplicación del control de acceso

De forma predeterminada, los administradores del repositorio pueden cambiar la Code Quality configuración de sus propios repositorios. Para evitar esto, habilite Forzar acceso.

Bloqueos de cumplimiento en los estados habilitados y deshabilitados establecidos por la opción acceso al repositorio, por lo que los administradores del repositorio no pueden invalidarlos. Esto mejora la coherencia en toda la organización, pero reduce la flexibilidad de los administradores de repositorios individuales.

  • La restricción se aplica a la mayoría de las opciones de acceso a los repositorios que seleccione, incluida No repositories, lo que hace que Code Quality quede deshabilitado.
  • El cumplimiento no está disponible con Permitir que los repositorios decidan, lo que deja intencionadamente la elección para los administradores del repositorio.

Planeación de la implementación

Dado que un único cambio de configuración de acceso al repositorio puede habilitarse Code Quality en muchos repositorios GitHub Actions a la vez y cada análisis consume minutos, merece la pena implementar en fases en lugar de hacerlo todo a la vez. Al planificar, tenga en cuenta algunos aspectos:

  • Costo y capacidad. Asegúrese de que sus runners puedan absorber la carga adicional GitHub Actions antes de habilitar Code Quality de forma generalizada.
  • Cuánto exigir. El cumplimiento proporciona cobertura coherente y detiene la exclusión de los administradores del repositorio, pero elimina su flexibilidad. Dejarla desactivada permite a los equipos participar en su propia escala de tiempo.
  • Cuándo se va a expandir. Comience con un grupo piloto pequeño y representativo, confirme que el análisis se ejecuta sin problemas y los desarrolladores confían en los resultados y, a continuación, amplían la selección o el filtro para cubrir más repositorios.

Para obtener un procedimiento de implementación paso a paso, incluida la prueba piloto de los umbrales de calidad en modo de evaluación antes de aplicarlos, consulte Despliegue de GitHub Code Quality a gran escala.