Páginas particulares para um repositório particular do Github

244

Não foi possível encontrar nada na documentação do github e também aqui no SO. Mas eu queria saber se poderia haver um http://foo.github.compara um repositório privado chamado fooque é acessível, apenas um tinha acesso ao foopróprio repositório.

Lembro-me de ter lido algo sobre as páginas do github sempre sendo públicas, mas parece que não consigo mais encontrar isso.

E, surpreendentemente, também não consigo encontrar mais ninguém fazendo a pergunta.

kashyap
fonte
2
Suponho que muitas pessoas não estejam usando o Github para hospedar repositórios particulares. Ou pelo menos, muito poucos deles estão usando páginas gh.
Siddhartha Reddy
Acho que a resposta correta agora deve ser stackoverflow.com/a/54340540/1168342
Fuhrmanator 20/01

Respostas:

219

Eu havia levantado um tíquete de suporte contra o Github e recebi uma resposta confirmando o fato de que TODAS as páginas são públicas. Agora solicitei que adicionassem uma nota em help.github.com/pages.

kashyap
fonte
6
O repo de suas páginas precisa ser público para que as páginas do GitHub funcionem?
Dennis
34
@ Dennis: Não, não - seu repositório pode ser privado. Mas as páginas publicadas serão públicas e o GitHub não tem uma maneira integrada de restringir o acesso à visualização, permitindo que apenas colaboradores desse repositório privado os vejam.
Merlyn Morgan-Graham
6
Para sua informação, pode ser visto MUITO CLARAMENTE aqui #
Derek Adair
//, Controle de acesso é uma questão muito interessante para o Github. Gosto que isso esteja recebendo atenção, @kashyap! Obrigado.
Nathan Basanese,
Adicionando aos comentários do @Derek Adair acima. O site diz: "Aviso: os sites GitHub Pages estão disponíveis publicamente na Internet, mesmo que seus repositórios sejam privados. Se você possui dados sigilosos no repositório de páginas, convém removê-lo antes de publicar."
Jay Killeen
62

De acordo com a documentação das páginas do GitHub :

Todos os repositórios de projetos estão prontos para usar o gerador para publicação. No entanto, observe que os repositórios privados publicarão páginas que são públicas.

Portanto, não, no momento não há como criar páginas privadas do GitHub a partir de um repositório privado do GitHub.

EDITAR:

Uma solução simples

Uma solução alternativa para algumas situações que podem ser úteis é simplesmente renomear o repositório para algo diferente do formato de páginas do GitHub enquanto você deseja que ele seja privado (por exemplo, em uma fase de desenvolvimento) e quando estiver pronto para torná-lo público, corrija o nome. Obviamente, isso ainda não ajuda se você estiver procurando uma maneira de publicar páginas com autenticação, mas se você quiser apenas ocultar um projeto de páginas GH enquanto estiver em andamento, isso poderá ajudar.

Um wrapper de autenticação real para Jekyll (páginas do GitHub)

Como alternativa, existe um projeto chamado Jekyll Auth que o GitHubber @benbalter fez para esse uso. O Jekyll Auth fornece um wrapper de autenticação básico para projetos jekyll, incluindo páginas do GitHub. Consulte o README do repositório para uso.

Joel Glovier
fonte
1
Parece que o primeiro link é antigo. help.github.com/articles/what-is-github-pages agora tem um aviso semelhante.
radicaledward101
14

O page.github.com menciona:

As páginas do Github são hospedadas gratuitamente e facilmente publicadas em nosso site,

Sem nunca mencionar o controle de acesso.

A ajuda da página do GitHub também não menciona nenhuma ACL.
Eles são melhor gerenciados em uma ramificação gh-pages e podem ser gerenciados em seu próprio submódulo .
Mas, novamente, sem nenhuma restrição em termos de visibilidade, uma vez publicada pelo GitHub.

VonC
fonte
14
De fato. Todas as páginas são públicas. Eu recebi uma resposta (em um tíquete de suporte) do github confirmando isso.
kashyap
13

Muitas respostas estão desatualizadas (aquisição anterior à Microsoft / contratos privados gratuitos). Este foi escrito após o anúncio de acordos privados gratuitos .

As páginas do Github não estão disponíveis em repositórios particulares gratuitos, conforme mostrado nas configurações de repositório:

insira a descrição da imagem aqui

2020 (o plano mais básico agora é "Equipe"):

atualize para a equipe do github ou torne este repositório público para ativar o Pages

Corey
fonte
5
Isso é uma chatice. O anúncio é completo e assobia a disponibilidade gratuita de repositórios particulares, mas eles diminuem bastante a funcionalidade.
Robert Estivill
9

Há um artigo com uma ideia de trabalho sobre como solicitar autorização oAuth antes de carregar dinamicamente o conteúdo estático:

Protegendo site executado em páginas do Github com JSON Backend no repositório particular

O conteúdo deve ser armazenado em um repositório secreto do GitHub com um visualizador com acesso de leitura. As páginas do GitHub armazenam apenas o código JS em exibição.

TautrimasPajarskas
fonte
Isso é muito melhor do que usar hasdocs, porque você não precisa dar permissão ao seu repositório para aplicativos de terceiros não confiáveis.
Tommz
8

Conforme descrito acima, as páginas do Github não suportam essa funcionalidade. Eu tive o mesmo problema quando nossa equipe decidiu hospedar a documentação do projeto (HTML estático) internamente e em particular.

Acabei criando um serviço https://www.privatehub.cloud. É basicamente um servidor proxy simples com autenticação Github OAuth, portanto, ele simplesmente retorna o conteúdo do repositório do GitHub com um tipo MIME adequado. Por design, apenas quem tem acesso foopoderá ver o fooconteúdo em https://bar-foo.privatehub.cloud. Do ponto de vista funcional, você pode pensar nisso como uma página simplificada do GitHub com autenticação integrada.

Infelizmente, o Github OAuth não permite solicitar read-onlyacesso a repositórios particulares, portanto o servidor precisa do acesso completo (obviamente, ele não grava nada no seu repositório). Como a API do GitHub permite recuperar arquivos com menos de 1 Mb, o serviço não pode retornar arquivos maiores. No entanto, achei o serviço bastante adequado para pequenos projetos de documentação interna ou versão intermediária de um site.

grieg
fonte
1
Nota: este serviço agora está morto (ou potencialmente temporariamente caiu)
Jason Axelson
1

Se você pressionar admin em um repositório particular e rolar para a parte sobre as páginas, ele escreverá que será público. Verificarei mais tarde se o controle .htaccess ou similar é possível, mas não tenho muita esperança.

Rohde Fischer
fonte
1
O método .htaccess não funciona. Se há quaisquer sugestões úteis deixe-me saber :)
Rohde Fischer
Também não consegui encontrar nada. Acho que esse problema está encerrado por enquanto.
kashyap
0

você pode usar o GitLab . você pode definir projetos privados e todas as instalações são como o Github.

mohammad asghari
fonte
As páginas privadas ainda não estão disponíveis no site principal do GitLab (apenas em cópias locais) ... talvez até meados de maio de 2019 (consulte < gitlab.com/gitlab-com/gl-infra/infrastructure/issues/5576> )
Rivy 13/04/19
-3

Você pode hospedar a senha em um repositório e apenas ocultar a página atrás do endereço oculto, derivado dessa senha. Esta não é uma maneira muito segura, mas é simples.

Demonstração

Ozbolt
fonte