Note
Las directivas de repositorio se encuentran actualmente en versión preliminar pública y están sujetas a cambios.
Para controlar los eventos clave en el ciclo de vida de los repositorios, como quién puede crear o eliminar repositorios, puedes crear una directiva de repositorio. Una directiva de repositorio es una colección de restricciones que proporcionan un control flexible sobre qué usuarios se ven afectados y qué repositorios están incluidos.
En una directiva de repositorio, puedes restringir:
- Qué visibilidades se permiten para los nuevos repositorios y los cambios de visibilidad.
- Quién puede crear repositorios.
- Quién puede eliminar repositorios.
- Quién puede transferir repositorios fuera de una organización.
- Cómo las personas pueden asignar un nombre a los repositorios.
Tip
Si eres propietario de la organización, puedes crear una directiva de repositorio para una organización específica. Consulte "Determinación de cómo las personas usan repositorios en tu organización".
Ejemplos
Puedes usar una directiva de repositorio para hacer cosas como:
- Asegurarte de que todos los repositorios nuevos usen una determinada convención de nomenclatura, como
kebab-case
. - Impedir eliminaciones del repositorio excepto las de los administradores de la organización.
- Permitir que los repositorios públicos se creen solo en la organización de "código abierto" de tu empresa.
- Evitar que los repositorios públicos se cambien a privados para evitar la posible pérdida de metadatos.
¿Cómo seleccionaré los repositorios?
En primer lugar, seleccionarás las organizaciones de tu empresa. Puedes seleccionar todas las organizaciones, elegir de una lista o crear una regla dinámica mediante la sintaxis fnmatch
. Si usas Enterprise Managed Users, también puedes elegir dirigirte a todos los repositorios que pertenezcan a usuarios de tu empresa.
A continuación, seleccionarás los repositorios de las organizaciones seleccionadas. Se recomienda usar directivas de repositorio junto con propiedades de repositorio personalizadas. Al agregar propiedades personalizadas a los repositorios, podrás dirigirte de forma flexible a esos repositorios en una directiva.
Por ejemplo, puedes agregar una propiedad para marcar los repositorios que contienen datos de producción u otra información confidencial y, luego, impedir que otros usuarios haga públicos esos repositorios.
Para crear y establecer propiedades personalizadas, consulta "Administración de propiedades personalizadas para repositorios de la organización".
Interacción con otras directivas
Algunas de las restricciones disponibles son duplicados de directivas que puedes haber establecido en la página "Member privileges" de la configuración de tu organización o empresa.
La creación de una directiva de repositorio no invalida las directivas de "privilegios de miembro" existentes. Al contrario, las directivas son acumulativas, por lo que se aplica la versión más restrictiva de una directiva. Esto se aplica tanto a las directivas de privilegios de miembro como a otras directivas de repositorio que los usuarios han creado a nivel de empresa u organización.
En comparación con las directivas de privilegios de miembro, las directivas de repositorio tienen varias ventajas:
- Ofrecen una orientación más flexible hacia organizaciones y repositorios.
- Permiten conceder a determinados actores la opción de omitir las directivas.
- Son visibles para los propietarios de la organización, por lo que hay más transparencia en torno a lo que está permitido.
- Permiten dirigirse a repositorios propiedad de Enterprise Managed Users.
Creación de una directiva de repositorio
- En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.
- En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.
- En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.
- En "Policies", haz clic en Repository.
- Haga clic en Nueva directiva.
- Configura la nueva directiva y haz clic en Create. Para obtener ayuda, consulta las siguientes subsecciones.
Nombre de la directiva
Usa algo descriptivo para comunicar el propósito de la directiva. Los propietarios de la organización pueden ver la directiva, así que unos nombres adecuados aportan una mayor claridad. Por ejemplo: Prevent public repos on production
.
Estado de cumplimiento
Si no deseas que se aplique la directiva cuando se cree, establécela en "Disabled". De lo contrario, establécela en "Active".
Lista de permitidos
Elige qué roles y equipos pueden omitir las restricciones de esta directiva.
Destinos
Elige a qué organizaciones y repositorios se aplica la directiva.
Organizaciones de destino
Selecciona todas las organizaciones, elige una selección de organizaciones existentes o establece una lista dinámica por nombre. Si usas Enterprise Managed Users, también puedes elegir dirigirte a todos los repositorios que pertenezcan a usuarios de tu empresa.
Si estableces una lista dinámica, agregarás uno o varios patrones de nomenclatura mediante la sintaxis fnmatch
. Por ejemplo, la cadena *open-source
coincidiría con cualquier organización con un nombre que termine con open-source
. Para obtener más información sobre la sintaxis, consulta "Creación de conjuntos de reglas de un repositorio".
Repositorios de destino
Elige los repositorios (actuales o futuros) a los que dirigirte en las organizaciones seleccionadas. Puedes seleccionar todos los repositorios o establecer una lista dinámica por propiedad personalizada.
Directivas
Elige qué restricciones se incluyen. Cuando la directiva está activa, las restricciones se aplican en todos los repositorios de destino, pero los usuarios o equipos pueden omitirlas en la lista de permitidas.
Si eliges la directiva "Restrict names", debes usar la sintaxis de expresiones regulares para establecer un patrón con el que los nombres de repositorio deben o no coincidir. Por ejemplo, un patrón para aplicar la nomenclatura kebab-case
tendría un aspecto similar a ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$
.
- Los patrones admiten la sintaxis RE2. Consulta la guía de sintaxis de Google.
- Para validar las expresiones, haz clic en Test pattern y escribe un patrón y un valor de prueba.
Información adicional
Para establecer directivas adicionales para la administración de repositorios, consulta "Requerir políticas de administración de repositorios en tu empresa".