CI/CD: GitHub Actions
Каждый пуш в репозиторий запускает проверку: установка, линт, тесты, сборка — и деплой. Человек не участвует, а «сломано» видно сразу в списке коммитов.
Первый workflow
# .github/workflows/ci.yml
name: CI
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run lint
- run: npm test
- run: npm run build
Что это даёт
- тесты и линт гоняются на чистой машине — «у меня работало» перестаёт быть оправданием;
- в PR сразу видно: зелёная галочка = можно вливать;
- деплой на staging — второй workflow по триггеру «PR закрыт» или тег релиза;
- секреты (пароли, токены) хранятся в Settings → Secrets, а не в коде.
💡
Начните с минимума: workflow «lint + test» на каждый push. Это 10 строк и огромный эффект: командная репутация «всегда зелёный main» вырастает на глазах.
ℹ️
Альтернативы: GitLab CI, Bitbucket Pipelines, самохост. Принцип один — описание пайплайна файлом в репозитории, а не клики в веб-интерфейсе.