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.

kashyap
fuente
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.

kashyap
fuente
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.

Joel Glovier
fuente
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.

VonC
fuente
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

Corey
fuente
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.

TautrimasPajarskas
fuente
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.

Grieg
fuente
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.

Rohde Fischer
fuente
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

Ozbolt
fuente