Skip to content

Учебник: Запланированный пайплайн

В этом учебнике вы создадите ночной пайплайн, выполняющий аудит зависимостей и отправляющий уведомление в Slack с результатами.

Время: ~10 минут Цель экспорта: GitHub Actions


Что вы построите

Пайплайн, запускающийся каждую ночь в 2:00 и:

  1. Проверяющий устаревшие зависимости
  2. Выполняющий аудит безопасности
  3. Уведомляющий Slack-канал о результате

Шаг 1 — Сохранить вебхук Slack

  1. Перейдите в Настройки → Учётные данные → Новые учётные данные
  2. Заполните:
    • Метка: Slack Webhook — #alerts
    • Провайдер: slack
    • Значение: https://hooks.slack.com/services/... (ваш URL входящего вебхука Slack)
  3. Сохраните

Шаг 2 — Создать пайплайн

Откройте ваш проект, нажмите Новый пайплайн → назовите nightly-audit.

Шаг 3 — Настроить триггер

Нажмите Триггер:

  • Тип: Schedule
  • Cron: 0 2 * * * (каждый день в 2:00 UTC)

Шаг 4 — Добавить стейдж «Аудит»

Добавьте стейдж Аудит.

Дважды кликните для входа. Добавьте джоб:

  • Название: dependency-audit
  • Runs on: ubuntu-latest

Добавьте шаги:

Шаг 1 — Checkout

  • Тип: git / Операция: checkout

Шаг 2 — Установить зависимости

  • Тип: shell_command / Скрипт: npm ci

Шаг 3 — Проверить устаревшие пакеты

  • Тип: shell_command
  • Скрипт:
    bash
    npm outdated || true
  • Метка: Проверить устаревшие пакеты

(|| true предотвращает провал джоба при наличии устаревших пакетов — мы хотим отчитаться, а не блокировать.)

Шаг 4 — Аудит безопасности

  • Тип: shell_command
  • Скрипт:
    bash
    npm audit --audit-level=high
  • Метка: Аудит безопасности

Шаг 5 — Уведомить Slack

  • Тип: notification
  • Канал: slack
  • Учётные данные: Slack Webhook — #alerts
  • Сообщение: ✅ Ночной аудит my-app завершён

TIP

Чтобы отправлять разные сообщения при успехе и при ошибке, добавьте два шага уведомления: один с включённым Продолжать при ошибке на шаге аудита, и условия в YAML. Проще настроить это напрямую в YAML после экспорта.

Шаг 5 — Сохранить и экспортировать

Нажмите Сохранить, затем Экспорт → GitHub Actions → Скачать.

Закоммитьте nightly-audit.yml в .github/workflows/.


Результат

Пайплайн будет запускаться каждую ночь в 2:00. Если аудит безопасности найдёт уязвимости высокой степени, джоб завершится с ошибкой и GitHub отправит вам email-уведомление. В любом случае Slack получит сообщение.


Изменение расписания

Чтобы изменить частоту, обновите триггер в pipel8ne и повторно экспортируйте:

ЦельCron
Каждый понедельник в 9:000 9 * * 1
Каждые 6 часов0 */6 * * *
Первое число каждого месяца0 0 1 * *
Будни в 8:000 8 * * 1-5

Released under the MIT License.