Skip to main content

Автоматическое развертывание веб-сайта

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

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

Примечание.

URL-адрес сайта GitHub Pages зависит от используемой GitHub версии.

  • На GitHub.comсайте опубликовано.YOUR-USERNAME.github.io/REPOSITORY
  • Если вы используете GitHub место размещения GHE.comданных, сайт публикуется по pages.SUBDOMAIN.ghe.com/YOUR-USERNAME/REPOSITORYадресу, где SUBDOMAIN находится поддомен вашего предприятия.
  • На GitHub Enterprise Serverсайте опубликовано pages.HOSTNAME/YOUR-USERNAME/REPOSITORYна сайте, где HOSTNAME находится имя узла вашего GitHub Enterprise Server экземпляра.

Необходимые условия

  • Репозиторий с объединенным компонентом stargazers-log . Если вы еще не объединили его, см. раздел AUTOTITLE.

Включение GitHub Pages

GitHub Pages Настройте для размещения сайта и его использования GitHub Actions для сборки и публикации.

  1. В противном случае GitHubперейдите в stargazers-log репозиторий.
  2. В поле имени репозитория нажмите кнопку "Параметры".
  3. На боковой панели в разделе "Код и автоматизация" щелкните "Страницы".
  4. В раскрывающемся списке "Сборка и развертывание" в раскрывающемся списке "Источник " выберите GitHub Actions.

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

Создание рабочего процесса развертывания

Рабочий процесс — это набор автоматических шагов, выполняемых GitHub Actions для вас. Добавьте его, который создает и развертывает сайт при отправке mainна сайт.

  1. В вашем репозитории создайте файл с именем .github/workflows/deploy.yml.

    1. На главной странице репозитория stargazers-log над списком файлов нажмите кнопку " Создать файл".
    2. В поле имени файла введите .github/workflows/deploy.yml.
  2. Добавьте следующее содержимое рабочего процесса.

    YAML
    name: Deploy to GitHub Pages
    
    on:
      push:
        branches:
          - main
    
    permissions:
      contents: read
      pages: write
      id-token: write
    
    jobs:
      deploy:
        runs-on: ubuntu-latest
        environment:
          name: github-pages
          url: ${{ steps.deployment.outputs.page_url }}
        steps:
          - name: Checkout
            uses: actions/checkout@v6
          - name: Setup Pages
            uses: actions/configure-pages@v5
          - name: Upload artifact
            uses: actions/upload-pages-artifact@v4
            with:
              path: '.'
          - name: Deploy to GitHub Pages
            id: deployment
            uses: actions/deploy-pages@v4
    
  3. Зафиксируйте файл непосредственно в main ветви.

Общие сведения о рабочем процессе

Каждая часть рабочего процесса имеет задание:

  • **on**GitHub Actions сообщает, что рабочий процесс выполняется при каждой отправкеmain.
  • permissions предоставьте рабочему процессу доступ, в который он должен опубликоваться GitHub Pages.
  • **environment**подключает задание к сайту GitHub Pages и предоставляет опубликованный URL-адрес как${{ steps.deployment.outputs.page_url }} .
  • steps Ознакомьтесь с кодом, подготовьте GitHub Pages, отправьте файлы в качестве артефакта и разверните их на динамическом сайте.

Просмотр динамического сайта

После фиксации рабочего процесса GitHub Actions выполняется автоматически.

  1. В репозитории щелкните вкладку "Действия" , чтобы просмотреть выполнение рабочего процесса.
  2. Щелкните последнюю версию рабочего процесса, чтобы просмотреть сводку сведений о задании.
  3. По завершении выполнения откройте опубликованный сайт.https://YOUR-USERNAME.github.io/stargazers-log/ Замените имя пользователяYOUR-USERNAME и замените .
    • Например, если имя пользователя учетной записи имеется, сайт находится наGitHuboctocat``https://octocat.github.io/stargazers-log/

Теперь каждый push-переход к повторному развертыванию main сайта с последними изменениями.

То, что вы создали

В рамках этой серии вы создали полный проект программного обеспечения и практиковали рабочий GitHub процесс:

ЭтапЧто вы узнали
Создание проекта программного обеспеченияРепозитории, файлы README
Планирование работыПроблемы, проекты (доски проектов)
Подключение локально
GitHub DesktopКлонирование
Написание и хранение кодаВетви, фиксации, запросы на вытягивание, Copilot
Обзор измененийПроверки запросов на вытягивание, Copilot
Автоматическое развертывание
GitHub Actions, GitHub Pages

Дальнейшие действия

  • Разверните понимание Git и GitHub. Дополнительные сведения см. в разделе Учебные ресурсы на Git и GitHub.
  • Ознакомьтесь с более быстрыми сведениями Копилот Чат и получите справку по мере написания кода. Для получения дополнительной информации см. раздел AUTOTITLE.
  • Ознакомьтесь с ИИ и узнайте, как агенты могут действовать как практический партнер по программированию, превратив идеи в небольшие действия, создавая примеры и обрабатывая повторяющиеся действия. Для получения дополнительной информации см. раздел AUTOTITLE.
  • Дополнительные сведения об автоматизации проектов программного обеспечения с рабочими процессами GitHub Actions . Дополнительные сведения см. в разделе Понимание GitHub Actions.
  • Добавьте личный домен или изучите другие способы публикации веб-сайта с GitHub Pagesпомощью . Дополнительные сведения см. в разделе Начало работы со страницами GitHub.