Skip to content
PПромтбук
RUEN
01Аудит

Smoke-чеклист после деплоя

Что прокликать в первые 5-30 минут после деплоя, чтобы поймать 500-ки, 404, broken JS, сломанные формы — до того как это поймает первый пользователь.

Smoke-проверка после каждого деплоя — самый дешёвый способ не отдать пользователю поломанный сайт. Не E2E, не Lighthouse, не security-аудит. Только «работает ли вообще базовое».

Site: {{site_url}} Ключевые flow: {{key_flows}}

Тайминг

КогдаЧтоСколько
0-1 минHealth endpoint + главная30 сек
1-5 минTop-10 URL → 2004 мин
5-15 минConsole errors на каждой странице10 мин
15-30 минКаждый ключевой flow до завершения15 мин
30+ минЕсли что-то поломалось — fix или rollback

Если первые 5 минут показали 500-ки → rollback немедленно, разбирайся потом.

1. Health (30 секунд)

curl -sI {{site_url}}/__health
curl -sI {{site_url}}/

Оба должны вернуть 200. Если __health 200, а / 500 — это билд-баг.

2. URL-чеклист (4 минуты)

for url in / /about /pricing /api/health /sitemap.xml /robots.txt /favicon.ico; do
  echo "$(curl -s -o /dev/null -w '%{http_code}' {{site_url}}$url) $url"
done

Что должно быть:

  • HTML-страницы — 200
  • API endpoints — 200 (если public) или 401 (если требуют auth)
  • /sitemap.xml — 200, не пустой
  • /robots.txt — 200, корректный
  • /favicon.ico — 200 (NOT 404 — первая ошибка которую видит каждый юзер)

Что НЕ должно быть: 500, 502, 503, 504, redirect-loops.

3. Browser console (10 минут)

Открой prod в обычном Chrome (не incognito). DevTools → Console:

  • Preserve log включён
  • Levels: всё (Verbose, Info, Warnings, Errors)

Пройди топ-10 страниц. Фиксируй:

  • TypeError, ReferenceError → блокеры, чинить
  • 404, 500 на assets → broken build
  • CORS, CSP errors → блокеры
  • React hydration warnings → серьёзно, но можно отложить
  • Extension errors → noise, отфильтруй

4. Network waterfall

DevTools → Network → фильтр «Status: 4XX, 5XX»:

  • 404 на CSS/JS/fonts → broken build
  • 500 на API → backend deploy сломан
  • 504 → timeout, проверь зависимости
  • 401 на public endpoints → auth-middleware misconfigured

5. Critical flows (15 минут)

Для каждого из {{key_flows}}:

  1. Incognito (свежая сессия)
  2. Пройди от начала до завершения
  3. Проверь: email / DB-запись / receipt действительно создались?

Минимум:

  • Signup → email → first login
  • Search → click result → page renders
  • Checkout / payment (тестовая карта)
  • Settings → update → reload → значение сохранено
  • Logout → login снова → state restored

6. Mobile spot-check (5 минут)

DevTools → Device toolbar → iPhone 13:

  • Hero не обрезан, text не overflow
  • Mobile menu открывается
  • Forms — клавиатура и autofocus
  • Hover-only — работают на touch
  • Sticky bar не съедает 50% экрана

7. Rollback-план

ssh srv1 'pm2 logs <app> --lines 100 --nostream'
ssh srv1 'pm2 stop <app>'
# затем rsync предыдущей версии / git checkout HEAD~1 + redeploy

Не пытайся «быстро поправить» на проде в первые 5 минут. Rollback дешевле.

Anti-patterns

  • ❌ «Открыл главную, нормально» — не smoke
  • ❌ Тестировать только в авторизованной сессии
  • ❌ Только локально — prod-окружение другое
  • ❌ Пропустить mobile
  • ❌ Не смотреть в console
  • ❌ Откладывать smoke «до завтра»
  • ❌ Smoke только в браузере без curl — пропустишь 500-ки на routes которые не открываешь руками

Output

  1. 200/4xx/5xx по топ-10 URL
  2. Console-журнал с категоризацией
  3. Critical flows pass/fail
  4. Решение: ship / hotfix / rollback
К подразделу «Аудит»
Похожие промты