Был ли процесс Continuous Integration настроен автоматически на push commit на последнем проекте

«Был ли процесс Continuous Integration настроен автоматически на push commit на последнем проекте» — вопрос из категории CI/CD, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, на последнем проекте мы использовали GitHub Actions для автоматического CI. При каждом push в ветку main или develop запускался пайплайн, который включал:

  1. Установку зависимостей (npm ci)
  2. Линтинг кода (eslint, stylelint)
  3. Запуск юнит-тестов (jest)
  4. Сборку проекта (npm run build)

Пример конфига .github/workflows/ci.yml:

name: CI Pipeline  
on:  
  push:  
    branches: [main, develop]  
jobs:  
  test-and-build:  
    runs-on: ubuntu-latest  
    steps:  
      - uses: actions/checkout@v3  
      - uses: actions/setup-node@v3  
      - run: npm ci  
      - run: npm run lint  
      - run: npm test  
      - run: npm run build  

Если пайплайн падал, мерж-реквест не мог быть принят.