Все уроки | Уровень
Средний
0%
0 / 14

Видео урока скоро будет доступно

Урок 6

Автоматизация
с GitHub Actions

Настраиваем автоматический деплой, проверку ссылок и уведомления в Telegram.

2.5 часа Средний

Цели урока

После этого урока вы:

  • Поймёте, зачем нужна автоматизация и что такое GitHub Actions.
  • Настроите автоматический деплой сайта при каждом обновлении.
  • Добавите проверку битых ссылок, чтобы сайт всегда был рабочим.
  • Настроите уведомления в Telegram об успешной публикации.
  • Научитесь использовать AI для написания workflow.

Зачем нужна автоматизация?

Представьте, что каждый раз, когда вы меняете сайт, вам нужно:

  1. Вручную зайти в настройки GitHub Pages.
  2. Нажать кнопку «Обновить».
  3. Проверить, что всё работает.

Скучно и долго, правда?

GitHub Actions делает это автоматически: вы просто пушите изменения, а всё остальное происходит само.

Что такое GitHub Actions?

GitHub Actions — это встроенный в GitHub «робот», который выполняет ваши инструкции при определённых событиях (например, при пуше в ветку main).

Аналогия: Представьте, что у вас есть личный помощник, который после каждого вашего сохранения проверяет сайт, публикует его и пишет вам в Telegram: «Всё готово!».

Workflow описывается в YAML-файле, который хранится в папке .github/workflows/.

Что такое битые ссылки?

Битые ссылки — это ссылки, которые ведут на несуществующие страницы или файлы.

Поисковики их не любят, а пользователи расстраиваются.

GitHub Actions может автоматически проверять их и сообщать вам о проблемах.

Инструмент: Мы будем использовать linkinator — проверку всех ссылок на сайте.

Шаг 1. Проверка деплоя

Важно: Если вы уже включили GitHub Pages в настройках репозитория (Settings → Pages → Branch: main, /root), то сайт уже автоматически обновляется при каждом пуше.

Так зачем тогда GitHub Actions? Он даёт больше возможностей:

  • Проверять битые ссылки перед публикацией.
  • Отправлять уведомления в Telegram.
  • Выполнять дополнительные проверки (размер файлов, валидация HTML).

Мы НЕ отключаем стандартный GitHub Pages, а ДОБАВЛЯЕМ к нему проверки через Actions.

Шаг 2. Создание workflow

2.1. В корне проекта создайте папку .github/workflows. Внутри — файл deploy.yml.

2.2. Откройте DeepSeek и попросите:

«Создай GitHub Actions workflow для моего статического сайта на GitHub Pages. Он должен запускаться при пуше в ветку main. После деплоя проверять битые ссылки (используй linkinator) и отправлять уведомление в Telegram.»

2.3. Ваш workflow должен содержать три шага:

  1. Скачать код из репозитория (actions/checkout).
  2. Опубликовать сайт на GitHub Pages (peaceiris/actions-gh-pages).
  3. Проверить битые ссылки и отправить уведомление.

2.4. Закоммитьте и запушьте файл. Зайдите на вкладку Actions — workflow запустился.

Шаг 3. Telegram-бот

3.1. Создайте Telegram-бота:

  1. Найдите в Telegram @BotFather.
  2. Напишите /newbot и следуйте инструкциям.
  3. Получите токен бота (например, 123456:ABC-DEF).
  4. Напишите боту /start.
  5. Узнайте ваш chat_id через бота @userinfobot.

3.2. Добавление секретов в GitHub:

  1. Зайдите в настройки репозитория: Settings → Secrets and variables → Actions.
  2. Нажмите New repository secret.
  3. Добавьте TELEGRAM_TOKEN со значением токена.
  4. Добавьте TELEGRAM_CHAT_ID со значением chat_id.

Шаг 4. Секреты в GitHub

Чтобы токен и chat_id не были видны в коде, сохраните их как секреты:

Имя секретаЗначение
TELEGRAM_TOKENТокен от BotFather
TELEGRAM_CHAT_IDВаш chat_id от @userinfobot

Совет: Никогда не храните секреты в коде! В workflow они доступны через ${{ secrets.TELEGRAM_TOKEN }}.

Шаг 5. Проверка уведомлений

5.1. Внесите изменения на сайте и запушьте.

5.2. После успешного деплоя вы получите сообщение в Telegram.

Если уведомление не приходит:

  • Проверьте, правильно ли заполнены секреты.
  • Убедитесь, что вы написали боту /start.
  • Проверьте, что workflow выполнился успешно (зелёная галочка).

Шаг 6. Тестирование битых ссылок

6.1. Намеренно добавьте битую ссылку на сайт:

<a href="https://example.com/несуществующая-страница">Тест</a>

6.2. Запушьте изменения.

6.3. Workflow упадёт с ошибкой (красный крестик).

6.4. Исправьте ссылку и запушьте снова — теперь всё зелено.

Шаг 7. AI для помощи с Actions

Если вы запутались или хотите добавить что-то ещё, спросите у AI:

  • «Как добавить проверку всех страниц, а не только index.html?»
  • «Как отправлять уведомление только при ошибке?»
  • «Как добавить проверку размера файлов?»

Giga Code тоже может помочь:

«Создай workflow для GitHub Actions, который проверяет битые ссылки и отправляет уведомление в Telegram»

Домашнее задание

  1. Настройте workflow для автоматического деплоя с проверкой ссылок и уведомлениями (используйте готовый код от AI).
  2. Создайте Telegram-бота и добавьте секреты в GitHub.
  3. Намеренно сломайте одну ссылку на сайте и проверьте, что workflow падает.
  4. Исправьте ссылку и проверьте, что всё работает.
  5. Напишите в чат скриншот успешного workflow.

Итог урока

Что мы узнали?

  • Зачем нужна автоматизация и что такое GitHub Actions.
  • Как создать workflow, объединяющий деплой, проверку ссылок и уведомления.
  • Как использовать AI для генерации workflow.
  • Как тестировать проверку битых ссылок.

Главный итог: Теперь ваш сайт не просто публикуется, а проходит проверки и уведомляет вас о результате. Это профессиональный подход, который экономит время и нервы.

Все уроки Поделиться результатом Следующий урок

На следующем занятии мы научимся тестировать сайт и находить ошибки.