Páginas privadas para un repositorio privado de Github


244

No se pudo encontrar nada en la documentación de Github y también aquí en SO. Pero me preguntaba si podría haber un http://foo.github.comrepositorio privado llamado fooque sea accesible, solo uno tenía acceso al foorepositorio en sí.

Recuerdo haber leído algo sobre que las páginas de Github siempre son públicas, pero parece que ya no puedo encontrarlo.

Y sorprendentemente, tampoco puedo encontrar a nadie más haciendo la pregunta.


2
Supongo que no mucha gente está usando Github para alojar repositorios privados. O al menos, muy pocos de ellos están usando gh-pages.
Siddhartha Reddy

Creo que la respuesta correcta ahora debería ser stackoverflow.com/a/54340540/1168342
Fuhrmanator

Respuestas:


219

Levanté un ticket de soporte contra Github y recibí una respuesta que confirmaba que TODAS las páginas son públicas. Ahora les he pedido que agreguen una nota a help.github.com/pages.


66
¿Sus repositorios de páginas deben ser públicos para que las páginas de GitHub funcionen?
Dennis

34
@Dennis: No, no es así, tu repositorio puede ser privado. Pero las páginas publicadas serán públicas y GitHub no tiene una forma integrada de restringir el acceso a la vista para permitir que solo los contribuyentes en ese repositorio privado las vean.
Merlyn Morgan-Graham

66
FYI se puede ver MUY CLARAMENTE aquí
Derek Adair

//, el control de acceso es un tema muy interesante para Github. ¡Me gusta que esto esté recibiendo atención, @kashyap! Gracias.
Nathan Basanese

Añadiendo a @Derek Adair los comentarios anteriores. El sitio dice: "Advertencia: los sitios de las páginas de GitHub están disponibles públicamente en Internet, incluso si sus repositorios son privados. Si tiene datos confidenciales en el repositorio de su página, es posible que desee eliminarlos antes de publicarlos".
Jay Killeen

62

De acuerdo con la documentación de las páginas de GitHub :

Todos los repositorios de proyectos están listos para usar el generador para la publicación. Sin embargo, tenga en cuenta que los repositorios privados publicarán páginas que son públicas.

Entonces, no, en este momento no hay forma de crear páginas privadas de GitHub desde un repositorio privado de GitHub.

EDITAR:

Una solución simple

Una solución alternativa para algunas situaciones que podrían ser útiles es simplemente cambiar el nombre del repositorio a otro que no sea el formato de páginas de GitHub mientras desea que sea privado (por ejemplo, en una fase de desarrollo) y cuando esté listo para hacerlo público, luego corrija el nombre. Obviamente, esto todavía no ayuda si está buscando una manera de publicar páginas que tengan autenticación, pero si solo desea ocultar un proyecto de páginas GH mientras está en progreso, esto podría ayudar.

Un auténtico contenedor de autenticación para Jekyll (páginas de GitHub)

Alternativamente, hay un proyecto llamado Jekyll Auth que GitHubber @benbalter hizo para tal uso. Jekyll Auth proporciona un contenedor de autenticación básico para proyectos jekyll, incluidas las páginas de GitHub. Consulte el archivo README del repositorio para su uso.


1
Parece que ese primer enlace es viejo. help.github.com/articles/what-is-github-pages ahora tiene una advertencia similar.
radicaledward101

14

La página.github.com menciona:

Las páginas de Github se alojan gratis y se publican fácilmente a través de nuestro sitio,

Sin mencionar el control de acceso.

La página de ayuda de GitHub tampoco menciona ninguna ACL.
Se gestionan mejor en una rama de gh-pages , y se pueden gestionar en su propio submódulo .
Pero, de nuevo, sin ninguna restricción en términos de visibilidad una vez publicado por GitHub.


14
En efecto. Todas las páginas son públicas. Recibí una respuesta (en un ticket de soporte) de github confirmando esto.
kashyap

13

Muchas respuestas están desactualizadas (adquisición previa a Microsoft / repositorios privados gratuitos). Este fue escrito después del anuncio de repositorios privados gratuitos .

Las páginas de Github no están disponibles en repositorios privados gratuitos para individuos, como se muestra en la configuración del repositorio:

ingrese la descripción de la imagen aquí

2020 (el plan más básico ahora es "Equipo"):

actualizar a github team o hacer público este repositorio para habilitar Pages


55
Esto es un fastidio. Anuncian con campanas y silbatos la disponibilidad gratuita de repositorios privados, pero reducen enormemente su funcionalidad.
Robert Estivill el

9

Hay un artículo con una idea funcional sobre cómo solicitar la autorización de oAuth antes de cargar dinámicamente contenido estático:

Asegurar el sitio que se ejecuta en páginas de Github con JSON Backend en repositorio privado

El contenido debe almacenarse en un repositorio secreto de GitHub con un visor que tenga acceso de lectura. Las páginas de GitHub almacenan solo el código JS en servicio.


Esto es mucho mejor que usar hasdocs, porque no necesita dar permiso a su repositorio para una aplicación de terceros no confiable.
Tommz

8

Como se describió anteriormente, las páginas de Github no admiten esa funcionalidad. Tuve el mismo problema cuando nuestro equipo decidió alojar la documentación del proyecto (HTML estático) de forma interna y privada.

Terminé creando un servicio https://www.privatehub.cloud Es básicamente un servidor proxy simple con autenticación Github OAuth, por lo que simplemente devuelve el contenido del repositorio GitHub con un tipo MIME adecuado. Por diseño, solo aquellos que tengan acceso foopodrán ver el foocontenido en https://bar-foo.privatehub.cloud. Desde el punto de vista funcional, puede considerarlo como páginas simplificadas de GitHub con autenticación incorporada.

Desafortunadamente, Github OAuth no permite solicitar read-onlyacceso a repositorios privados, por lo que el servidor necesita el acceso completo (obviamente, no escribe nada en su repositorio). Como la API de GitHub permite recuperar archivos de menos de 1 Mb solamente, el servicio no puede devolver archivos más grandes. Sin embargo, descubrí que el servicio es muy adecuado para pequeños proyectos de documentación interna o versión provisional de un sitio web.


1
Nota: este servicio ahora está inactivo (o potencialmente bloqueado temporalmente)
Jason Axelson

1

Si presiona admin en un repositorio privado y se desplaza hacia abajo a la parte sobre páginas, escribe que será público. Comprobaré más adelante si es posible el control .htaccess o similar, pero no tengo muchas esperanzas.


1
El método .htaccess no funciona. Si hay alguna sugerencia útil, hágamelo saber :)
Rohde Fischer

No pude encontrar nada tampoco. Supongo que este problema está cerrado por ahora.
kashyap


-3

Puede alojar la contraseña en un repositorio y luego simplemente ocultar la página detrás de la dirección oculta, que se deriva de esa contraseña. Esta no es una forma muy segura, pero es simple.

Demostración

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.