Private Seiten für ein privates Github-Repo

244

Konnte nichts in der Github-Dokumentation und auch hier auf SO finden. Aber ich habe mich gefragt, ob es http://foo.github.comein privates Repository mit dem Namen geben könnte, auf foodas nur einer Zugriff auf das fooRepository selbst hat.

Ich erinnere mich, dass ich etwas darüber gelesen habe, dass Github-Seiten immer öffentlich sind, aber das scheint ich nicht mehr zu finden.

Und überraschenderweise kann ich auch niemanden finden, der die Frage stellt.

kashyap
quelle
2
Ich nehme an, dass nicht viele Leute Github zum Hosten privater Repos verwenden. Zumindest verwenden nur sehr wenige von ihnen Gh-Seiten.
Siddhartha Reddy
Ich denke, die richtige Antwort sollte jetzt stackoverflow.com/a/54340540/1168342
Fuhrmanator

Antworten:

219

Ich hatte ein Support-Ticket gegen Github ausgestellt und eine Antwort erhalten, die die Tatsache bestätigt, dass ALLE Seiten öffentlich sind. Ich habe sie jetzt gebeten, eine Notiz zu help.github.com/pages hinzuzufügen.

kashyap
quelle
6
Muss Ihr Seiten-Repo öffentlich sein, damit GitHub-Seiten funktionieren?
Dennis
34
@ Tennis: Nein, das tut es nicht - dein Repo kann privat sein. Die veröffentlichten Seiten sind jedoch öffentlich und GitHub verfügt nicht über eine integrierte Möglichkeit, den Ansichtszugriff einzuschränken, damit nur Mitwirkende in diesem privaten Repo sie sehen können.
Merlyn Morgan-Graham
6
Zu Ihrer Information, es kann sehr klar hier
Derek Adair
//, Zugriffskontrolle ist ein sehr interessantes Thema für Github. Ich mag es, dass dies etwas Aufmerksamkeit bekommt, @kashyap! Vielen Dank.
Nathan Basanese
Hinzufügen zu den Kommentaren von @Derek Adair oben. Auf der Website heißt es: "Warnung: GitHub Pages-Websites sind im Internet öffentlich verfügbar, auch wenn ihre Repositorys privat sind. Wenn Sie vertrauliche Daten in Ihrem Seiten-Repository haben, möchten Sie diese möglicherweise vor der Veröffentlichung entfernen."
Jay Killeen
62

Laut Dokumentation zu GitHub Pages :

Alle Projekt-Repositorys können den Generator zum Veröffentlichen verwenden. Beachten Sie jedoch, dass private Repositorys öffentliche Seiten veröffentlichen.

Nein, derzeit gibt es keine Möglichkeit, private GitHub-Seiten aus einem privaten GitHub-Repository zu erstellen.

BEARBEITEN:

Eine einfache Problemumgehung

Eine Problemumgehung für einige Situationen, die hilfreich sein könnten, besteht darin, das Repo einfach in etwas anderes als das GitHub-Seitenformat umzubenennen, während es privat sein soll (z. B. in einer Entwicklungsphase). Wenn Sie bereit sind, es öffentlich zu machen, korrigieren Sie den Namen. Dies hilft natürlich immer noch nicht, wenn Sie nach einer Möglichkeit suchen, Seiten mit Authentifizierung zu veröffentlichen. Wenn Sie jedoch nur ein GH-Seitenprojekt ausblenden möchten, während es ausgeführt wird, kann dies hilfreich sein.

Ein aktueller Auth Wrapper für Jekyll (GitHub-Seiten)

Alternativ gibt es ein Projekt namens Jekyll Auth , das GitHubber @benbalter für eine solche Verwendung erstellt hat. Jekyll Auth bietet einen grundlegenden Authentifizierungs-Wrapper für Jekyll-Projekte, einschließlich GitHub-Seiten. Informationen zur Verwendung finden Sie in der README-Datei des Repos .

Joel Glovier
quelle
1
Es sieht so aus, als ob der erste Link alt ist. help.github.com/articles/what-is-github-pages hat jetzt eine ähnliche Warnung.
radikaledward101
14

Die page.github.com erwähnt:

Github-Seiten werden kostenlos gehostet und einfach über unsere Website veröffentlicht.

Ohne jemals die Zugangskontrolle zu erwähnen.

In der Hilfe der GitHub-Seite wird auch keine ACL erwähnt.
Sie werden am besten in einem Gh-Pages-Zweig verwaltet und können in ihrem eigenen Submodul verwaltet werden .
Aber auch hier, ohne Einschränkung der Sichtbarkeit, sobald es von GitHub veröffentlicht wurde.

VonC
quelle
14
Tatsächlich. Alle Seiten sind öffentlich. Ich habe eine Antwort (auf einem Support-Ticket) von Github erhalten, die dies bestätigt.
Kashyap
13

Viele Antworten sind veraltet (vor der Übernahme durch Microsoft / kostenlose private Repos). Dieser wurde nach der Ankündigung von kostenlosen privaten Repos geschrieben.

Github-Seiten sind nicht für kostenlose private Repos für Einzelpersonen verfügbar, wie in den Repo-Einstellungen gezeigt:

Geben Sie hier die Bildbeschreibung ein

2020 (der grundlegendste Plan ist jetzt "Team"):

Aktualisieren Sie auf das Github-Team oder veröffentlichen Sie dieses Repository, um Pages zu aktivieren

Corey
quelle
5
Das ist ein Mist. Die Werbung mit Schnickschnack macht die freie Verfügbarkeit von privaten Repos deutlich, reduziert aber deren Funktionalität massiv.
Robert Estivill
9

Es gibt einen Artikel mit einer Arbeitsidee zum Anfordern einer oAuth-Autorisierung, bevor statische Inhalte dynamisch geladen werden:

Sichern einer Site, die auf Github-Seiten ausgeführt wird, mit JSON-Backend im privaten Repository

Der Inhalt sollte in einem geheimen GitHub-Repository gespeichert werden, auf das ein Betrachter Lesezugriff hat. GitHub-Seiten speichern nur den bedienenden JS-Code.

TautrimasPajarskas
quelle
Dies ist viel besser als die Verwendung von Hasdocs, da Sie Ihrem Repo keine Erlaubnis für nicht vertrauenswürdige Drittanbieter-Apps erteilen müssen.
Tommz
8

Wie oben beschrieben, unterstützen Github-Seiten diese Funktionalität nicht. Ich hatte das gleiche Problem, als unser Team beschloss, die Projektdokumentation (statisches HTML) intern und privat zu hosten.

Am Ende habe ich einen Dienst https://www.privatehub.cloud erstellt. Es handelt sich im Grunde genommen um einen einfachen Proxyserver mit Github OAuth-Authentifizierung, sodass lediglich Ihr GitHub-Repository-Inhalt mit einem geeigneten MIME-Typ zurückgegeben wird. Nur wer Zugriff auf foohat, kann fooInhalte unter anzeigen https://bar-foo.privatehub.cloud. Aus funktionaler Sicht können Sie es sich als vereinfachte GitHub-Seiten mit integrierter Authentifizierung vorstellen.

Leider erlaubt Github OAuth nicht, den read-onlyZugriff auf private Repos anzufordern , sodass der Server den vollständigen Zugriff benötigt (offensichtlich schreibt er nichts in Ihr Repo). Da mit der GitHub-API nur Dateien mit weniger als 1 MB abgerufen werden können, kann der Dienst keine größeren Dateien zurückgeben. Ich fand jedoch, dass der Dienst für kleine Projekte zur internen Dokumentation oder Staging-Version einer Website gut geeignet ist.

grieg
quelle
1
Hinweis: Dieser Dienst ist jetzt tot (oder möglicherweise vorübergehend abgestürzt)
Jason Axelson
1

Wenn Sie in einem privaten Repo auf admin drücken und zu dem Teil über Seiten scrollen, wird geschrieben, dass er öffentlich ist. Ich werde später prüfen, ob eine .htaccess-Kontrolle oder ähnliches möglich ist, aber ich habe nicht viel Hoffnung darauf.

Rohde Fischer
quelle
1
Die .htaccess-Methode funktioniert nicht. Wenn es nützliche Vorschläge gibt, lass es mich wissen :)
Rohde Fischer
Ich konnte auch nichts finden. Ich denke, dieses Problem ist vorerst geschlossen.
Kashyap
-3

Sie können das Kennwort in einem Repository hosten und dann einfach die Seite hinter der verborgenen Adresse ausblenden, die von diesem Kennwort abgeleitet ist. Dies ist kein sehr sicherer Weg, aber einfach.

Demonstration

Ozbolt
quelle