Частные страницы для частной рефилии Github

Не удалось найти что-либо в документации github, а также здесь, на SO. Но мне было интересно, может ли быть http://foo.github.com для частного репозитория с именем foo, доступного только одному, имеющему доступ к самому репозиторию foo.

Я помню, что читал что-то о страницах github, всегда являющихся публичными, но, похоже, больше не может их найти.

И, что удивительно, я не могу найти никого другого, задающего вопрос.

Ответ 1

Я поднял билет поддержки от Github и получил ответ, подтверждающий факт, что ВСЕ страницы являются общедоступными. Я попросил их добавить примечание к help.github.com/pages.

Ответ 2

Согласно Документация документации GitHub:

Все репозитории проектов готовы использовать генератор для публикации. Однако обратите внимание, что частные репозитории будут публиковать опубликованные страницы.

Нет, в настоящее время нет возможности создавать частные страницы GitHub из частного репозитория GitHub.

EDIT:

Простейшее обходное решение

Обходной путь для некоторых ситуаций, которые могут быть полезны, - просто переименовать репо в нечто иное, чем формат страниц GitHub, в то время как вы хотите, чтобы он был закрытым (например, на этапе разработки) и когда он был готов сделать его общедоступным, тогда исправить имя. Очевидно, это все равно не поможет, если вы ищете способ публикации страниц с аутентификацией, но если вы просто хотите скрыть проект страниц GH во время его выполнения, это может помочь.

Фактический обертка для файлов Jekyll (страницы GitHub)

В качестве альтернативы существует проект под названием Jekyll Auth, который GitHubber @benbalter для такого использования. Jekyll Auth предоставляет базовую оболочку аутентификации для проектов jekyll, включая страницы GitHub. Обратитесь к REOPME repo для использования.

Ответ 3

page.github.com упоминает:

Github Pages размещаются бесплатно и легко публикуются через наш сайт,

Без упоминания контроля доступа.

Справка по странице GitHub также не упоминает ACL.
Они лучше всего управляются в разделе gh-pages и могут управляться в их собственном подмодуле.
Но опять же, без каких-либо ограничений в отношении видимости, однажды опубликованных GitHub.

Ответ 4

Как указано выше, страницы Github не поддерживают эту функциональность. У меня была такая же проблема, когда наша команда решила разместить документацию по проекту (статический HTML) как внутри, так и в частном порядке.

Я закончил создание сервиса https://www.privatehub.cloud Это простой прокси-сервер с аутентификацией Github OAuth, поэтому он просто возвращает ваш репозиторий GitHub содержимое с соответствующим типом MIME. По дизайну только те, у кого есть доступ к foo, смогут видеть foo контент в https://bar-foo.privatehub.cloud. С функциональной точки зрения вы можете думать об этом как о упрощенной странице GitHub со встроенной аутентификацией.

К сожалению, Github OAuth не позволяет запрашивать read-only доступ к частным репозиториям, поэтому серверу нужен полный доступ (очевидно, он ничего не пишет для вашего репо). Поскольку GitHub API позволяет извлекать файлы только под 1 Мбайт, служба не может вернуть более крупные файлы. Тем не менее, я нашел, что услуга вполне подходит для небольших проектов для внутренней документации или промежуточной версии веб-сайта.

Ответ 5

Существует статья с рабочей идеей о том, как запрашивать авторизацию oAuth, прежде чем загружать статический контент динамически:

Защита сайта, работающего на страницах Github, с помощью JSON Backend в частном репозитории

Содержимое должно храниться в секретном репозитории GitHub, когда зритель имеет доступ к нему. На страницах GitHub хранится только обслуживающий JS-код.

Ответ 6

Если вы нажмете admin на частном репо и прокрутите вниз до части о страницах, он пишет, что он будет общедоступным. Я проверю позже, если возможно управление .htaccess или подобное, но я не очень надеюсь на это.

Ответ 7

Страницы Github недоступны в бесплатных частных репозиториях для физических лиц, как показано в настройках репо:

enter image description here

Ответ 8

Вы можете разместить пароль в репозитории, а затем просто скрыть страницу за скрытым адресом, полученным из этого пароля. Это не очень безопасный способ, но это просто.

Демонстрация