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

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

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

> \[!NOTE]
> 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](/ru/enterprise-server@3.22/get-started/start-your-journey/reviewing-your-proposed-changes).

## Включение 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` над списком файлов нажмите кнопку **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="plus" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg>**" **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="plus" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg> Создать файл**".
   2. В поле имени файла введите `.github/workflows/deploy.yml`.

2. Добавьте следующее содержимое рабочего процесса.

   ```yaml copy
   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@v2
           with:
             path: '.'
         - name: Deploy to GitHub Pages
           id: deployment
           uses: actions/deploy-pages@v2
   ```

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://pages.HOSTNAME/YOUR-USERNAME/stargazers-log/` Замените имя пользователя`YOUR-USERNAME` и замените `HOSTNAME` на имя GitHub Enterprise Server узла.
   * Например, если имя пользователя учетной записи имеется, сайт находится наGitHub`octocat` сайте.`https://pages.HOSTNAME/octocat/stargazers-log/`

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

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

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

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

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

* Разверните понимание Git и GitHub. Дополнительные сведения см. в разделе [Учебные ресурсы на Git и GitHub](/ru/enterprise-server@3.22/get-started/start-your-journey/git-and-github-learning-resources).
* Ознакомьтесь с более быстрыми сведениями Копилот Чат и получите справку по мере написания кода. Для получения дополнительной информации см. [раздел AUTOTITLE](/ru/enterprise-cloud@latest/copilot/concepts/chat) в GitHub Enterprise Cloud документации.
* Ознакомьтесь с ИИ и узнайте, как агенты могут действовать как практический партнер по программированию, превратив идеи в небольшие действия, создавая примеры и обрабатывая повторяющиеся действия. Для получения дополнительной информации см. [раздел AUTOTITLE](/ru/enterprise-cloud@latest/copilot/concepts/agents) в GitHub Enterprise Cloud документации.
* Дополнительные сведения об автоматизации проектов программного обеспечения с рабочими процессами GitHub Actions . Дополнительные сведения см. в разделе [Понимание GitHub Actions](/ru/enterprise-server@3.22/actions/get-started/understand-github-actions).
* Добавьте личный домен или изучите другие способы публикации веб-сайта с GitHub Pagesпомощью . Дополнительные сведения см. в разделе [Начало работы со страницами GitHub](/ru/enterprise-server@3.22/pages/getting-started-with-github-pages).