Skip to main content

Настройка источника публикации для сайта GitHub Pages

Вы можете настроить сайт GitHub Pages для публикации при отправке изменений в определенную ветвь или написать рабочий процесс GitHub Actions для публикации сайта.

Кто может использовать эту функцию?

People with admin or maintainer permissions for a repository can configure a publishing source for a GitHub Pages site.

GitHub Pages доступен в общедоступных репозиториях с GitHub Free и GitHub Free для организаций, а также в общедоступных и частных репозиториях с GitHub Pro, GitHub Team, GitHub Enterprise Cloudи GitHub Enterprise Server. Дополнительные сведения см. в разделе "Планы GitHub".

GitHub Pages теперь использует GitHub Actions для выполнения сборки Jekyll. При использовании ветви в качестве источника сборки GitHub Actions необходимо включить в репозитории, если вы хотите использовать встроенный рабочий процесс Jekyll. Кроме того, если GitHub Actions недоступен или отключен, добавление .nojekyll файла в корень исходной ветви будет обойти процесс сборки Jekyll и развернуть содержимое напрямую. Дополнительные сведения о включении GitHub Actionsсм. в разделе "Управление параметрами GitHub Actions для репозитория".

Сведения об источниках публикаций

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

Если вам не нужно управлять сборкой сайта, рекомендуется публиковать сайт, когда изменения отправляются в определенную ветвь. Можно указать, какую ветвь и папку следует использовать в качестве источника публикации. Исходной ветвью может стать любая ветвь репозитория, а исходной папкой может быть либо корень репозитория (/), либо папка /docs в исходной ветви. После отправки изменений в исходную ветвь изменения в исходной папке будут опубликованы на вашем сайте GitHub Pages.

Если вы хотите использовать сборку, отличную от Jekyll, или не хотите хранить скомпилированные статические файлы в выделенной ветви, рекомендуется создать рабочий процесс GitHub Actions для публикации сайта. GitHub предоставляет шаблоны рабочих процессов для распространенных сценариев публикации для создания рабочего процесса.

Warning

GitHub Pages сайты общедоступны в Интернете, даже если репозиторий для сайта является частным (если ваш план или организация разрешает его). Если в репозитории вашего сайта есть конфиденциальные данные, удалите их перед публикацией. Дополнительные сведения см. в разделе «Сведения о репозиториях».

Публикация из ветви

  1. Убедитесь, что в вашем репозитории уже содержится ветвь, которую необходимо использовать в качестве источника публикации.

  2. В GitHubперейдите в репозиторий сайта.

  3. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  4. В разделе "Код и автоматизация" боковой панели щелкните Pages.

  5. В разделе "Сборка и развертывание" в пункте "Источник" выберите Развернуть из ветви.

  6. В разделе "Сборка и развертывание" используйте раскрывающееся меню ветви и выберите источник публикации.

    Снимок экрана: параметры страниц в репозитории GitHub . Меню для выбора ветви для источника публикации с меткой "Нет", описано в темно-оранжевый цвет.

  7. При необходимости используйте раскрывающееся меню папки, чтобы выбрать папку для источника публикации.

    Снимок экрана: параметры страниц в репозитории GitHub . Меню для выбора папки для источника публикации с меткой "/(корень)" описано в темно-оранжевый цвет.

  8. Нажмите кнопку Сохранить.

Устранение неполадок при публикации из ветви

Note

If your repository contains symbolic links, you will need to publish your site using a GitHub Actions workflow. For more information about GitHub Actions, see "Документация GitHub Actions."

Note

  • Если вы публикуете ветвь и ваш сайт не опубликован автоматически, убедитесь, что кто-то с разрешениями администратора и проверенный адрес электронной почты отправлен в источник публикации.
  • Фиксации, отправленные рабочим процессом GitHub Actions с использованием GITHUB_TOKEN сборки GitHub Pages.

Если вы выберете папку docs в любой ветви в качестве источника публикации, а затем удалите папку /docs из этой ветви в репозитории, сайт не будет собран и вы получите сообщение об ошибке сборки страницы для отсутствующей папки /docs. Дополнительные сведения см. в разделе Устранение ошибок сборки Jekyll для сайтов GitHub Pages.

Сайт GitHub Pages всегда будет развертываться с помощью выполнения рабочего процесса GitHub Actions, даже если вы настроили сайт GitHub Pages для сборки с использованием другого средства CI. Большинство внешних рабочих процессов CI развертываются в GitHub Pages путем фиксации выходных данных сборки в gh-pages ветви репозитория и обычно включают .nojekyll файл. В этом случае рабочий процесс GitHub Actions обнаружит состояние, что ветвь не нуждается в шаге сборки, и выполнит только шаги, необходимые для развертывания сайта на серверах GitHub Pages.

Чтобы найти потенциальные ошибки со сборкой или развертыванием, можно проверить выполнение рабочего процесса для сайта GitHub Pages, просмотрев выполнение рабочего процесса репозитория. Дополнительные сведения см. в разделе Просмотр журнала выполнения рабочего процесса. Дополнительные сведения о повторном запуске рабочего процесса в случае ошибки см. в разделе Повторный запуск рабочих процессов и заданий.

Публикация с помощью пользовательского рабочего процесса GitHub Actions

Чтобы настроить публикацию сайта с помощью GitHub Actions, выполните следующие действия:

  1. В GitHubперейдите в репозиторий сайта.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В разделе "Код и автоматизация" боковой панели щелкните Pages.

  4. В разделе "Сборка и развертывание" в разделе "Источник" выберите GitHub Actions.

  5. GitHub предлагает несколько шаблонов рабочих процессов. Если у вас уже есть рабочий процесс для публикации сайта, этот шаг можно пропустить. В противном случае выберите один из вариантов, чтобы создать рабочий процесс GitHub Actions. Дополнительные сведения о создании пользовательского рабочего процесса см. в статье "Создание пользовательского рабочего процесса GitHub Actions для публикации сайта.

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

Создание пользовательского рабочего процесса GitHub Actions для публикации сайта

Дополнительные сведения о GitHub Actionsсм. в разделе Документация GitHub Actions.

При настройке сайта публикации с помощью GitHub Actions{ GitHub предложит шаблоны рабочих процессов для распространенных сценариев публикации. Обычно рабочий процесс состоит из следующих действий:

  1. Активируйте каждый раз, когда выполняется отправка в ветвь по умолчанию репозитория или каждый раз, когда рабочий процесс выполняется вручную на вкладке "Действия".
  2. Извлечение содержимого репозитория с помощью действия actions/checkout.
  3. Создание статических файлов сайта, если это требуется для вашего сайта.
  4. Отправка статических файлов в качестве артефакта с помощью действия actions/upload-pages-artifact.
  5. Развертывание артефакта с помощью действия actions/deploy-pages, если рабочий процесс был активирован отправкой в ветвь по умолчанию. Этот шаг пропускается, если рабочий процесс был активирован запросом на вытягивание.

Шаблоны рабочих процессов используют среду github-pagesразвертывания. Если в вашем репозитории не содержится среда github-pages, она будет создана автоматически. Рекомендуется добавить правило защиты развертывания, чтобы только ветвь по умолчанию могли развертываться в этой среде. Дополнительные сведения см. в разделе Управление средами для развертывания.

Note

CNAME Файл в файле репозитория не добавляет или не удаляет личный домен. Вместо этого личный домен необходимо настроить в параметрах репозитория или с помощью API. Дополнительные сведения см. в разделе [AUTOTITLE и Управление личным доменом для сайта "Страницы GitHub"](/rest/pages#update-information-about-a-github-pages-site).

Устранение неполадок при публикации с помощью пользовательского рабочего процесса GitHub Actions

Сведения об устранении неполадок рабочего процесса GitHub Actions см. в разделе Мониторинг и устранение неполадок рабочих процессов.