Что происходило в деплое последнего проекта, если выявлялась ошибка в сборке

Ответ

При обнаружении ошибки в сборке процесс деплоя автоматически останавливается. Вот типичный сценарий:

  1. CI/CD пайплайн (например, GitHub Actions, GitLab CI) запускает тесты и сборку.
  2. Если сборка или тесты падают, система отправляет уведомление в Slack/email.
  3. Разработчики получают информацию об ошибке из логов (например, Jest/ESLint ошибки).
  4. После фикса ошибки и пуша изменений процесс запускается заново.

Пример конфига GitHub Actions:

name: Deploy
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm install
      - run: npm run build # если упадет здесь - дальше не пойдет
      - run: npm test
      - uses: actions/upload-artifact@v2 # этот шаг выполнится только если build и test прошли

Ключевые моменты:

  • Сборка не попадает на прод пока не исправлены ошибки
  • Логи сохраняются для анализа
  • Процесс полностью автоматизирован

Ответ 18+ 🔞

А, ну это ж классика, блядь! Весь этот цирк с деплоем, когда у тебя CI/CD пайплайн работает как строгий охранник на проходной, ёпта.

Смотри, как это обычно бывает, сука:

  1. Твой пайплайн, будь то GitHub Actions или там GitLab CI, запускается, как только ты что-то заливаешь. И начинает городить: тесты гоняет, сборку делает.
  2. И вот если на этом этапе что-то пошло не так — сборка сломалась или тесты посыпались — всё, пиздец, приехали. Система сразу же начинает орать на всех углах: в Slack тебе строчит, на почту письма гонит. Типа «Эй, мудак, посмотри, что ты натворил!».
  3. Ну а дальше разработчики, как обезьяны с гранатой, начинают эти логи читать. Там Jest накосячил, там ESLint ругается... В общем, ищут, где же они, сука, лажанулись.
  4. Нашли, починили, залили исправления — и этот ёбанный цирк начинается по новой, блядь.

Вот, смотри, пример конфига для GitHub Actions, чтоб ты понимал, о какой хуйне речь:

name: Deploy
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm install
      - run: npm run build # если упадет здесь - дальше не пойдет
      - run: npm test
      - uses: actions/upload-artifact@v2 # этот шаг выполнится только если build и test прошли

Видишь эту строчку npm run build? Вот если тут всё пойдёт по пизде — всё, приплыли. Дальше ни шага, ни единого ёбаного шага! Никакой upload-artifact уже не сработает, пока ты эту проблему не порешаешь.

И главное, что в этом всём есть, блядь:

  • Никакой кривой сборке на прод дороги нет, пока её не починят. Вообще.
  • Все логи, где всё посыпалось, сохраняются — сиди, изучай, рыдай.
  • И весь этот процесс, сука, абсолютно автоматический. Никакого ручного вмешательства, чих-пых тебя в сраку! Сделал хуйню — получи по ебалу и иди чини.