~/VibeHandbook

Платформы

github.com

GitHub Actions

Что это

GitHub Actions — это встроенная в GitHub система CI/CD. Вы добавляете в репозиторий YAML-файл, описывающий workflow — наборы шагов, которые запускаются автоматически по событиям вроде push, pull request или по расписанию. Каждый workflow выполняется на машине, размещённой GitHub («раннере»), так что вы можете тестировать, собирать и деплоить код, не управляя собственными серверами. Это самый распространённый способ автоматизировать путь от «код запушен» до «приложение работает».

Сильные стороны

  • Встроено прямо в GitHub — не нужно настраивать отдельный CI-сервис.
  • Запускается по событиям репозитория: гонять тесты на каждый PR, деплоить на каждый push в main.
  • Большой маркетплейс переиспользуемых actions для типовых задач (настройка, деплой, линтинг).
  • Размещённые раннеры для Linux, macOS и Windows; щедрые бесплатные минуты для публичных репозиториев.
  • Управление секретами и защита окружений для безопасных деплоев.

Компромиссы

  • YAML-workflow быстро становятся сложными; отладка падающего пайплайна бывает утомительной.
  • Минуты на приватных репозиториях тарифицируются, а активное использование стоит денег.
  • Воспроизвести сбой локально неудобно, поскольку он запускается на удалённых раннерах.
  • Сторонние actions удобны, но это зависимости цепочки поставок, которые нужно проверять.

Лучше всего подходит для

Автоматизации тестов, сборок и деплоев прямо из вашего репозитория — запуска набора тестов на каждый pull request и выкатки на ваш хостинг (например, Cloudflare Pages) при каждом обновлении main.

Совместимость с vibe coding

GitHub Actions идеально сочетается с vibe coding, потому что агент может написать весь пайплайн за вас. Попросите его добавить workflow, который устанавливает зависимости, гоняет ваши тесты и деплоит при push в main — он знает названия распространённых actions и форму YAML. Настоящая ценность — это страховочная сетка: как только тесты запускаются автоматически на каждое изменение, ИИ не сможет тихо вмержить что-то, что ломает сборку. Совет: скажите агенту ваш хостинг и пакетный менеджер, чтобы он выбрал правильный action для деплоя и настройки кеша, и держите секреты в настройках репозитория, никогда — в YAML.

# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: 20 }
      - run: npm ci
      - run: npm test