Задать вопрос
@nopescript

GitHub Actions сбрасывает папки зависимостей бэкэнда после сборки фронтенда, почему так происходит?

Привет! У меня есть монорепозиторий с папками frontend и backend. Я настроил GitHub Actions, чтобы при пуше в ветку main сначала билдилась папка frontend, а затем — папка backend. Проблема в том, что при сборке фронтенда папка с бэкендом на сервере сбрасывается, в том числе теряются установленные зависимости и папка node_modules, что приводит к ошибкам при запуске бэкенда.

name: "Build Frontend"

on:
  push:
    branches:
      - main

jobs:
  build-frontend:
    runs-on: self-hosted
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Set up Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '20.18.0'

      - name: Install frontend dependencies
        run: npm ci
        working-directory: frontend

      - name: Build frontend
        run: npm run build
        working-directory: frontend

      - name: Install backend dependencies
        run: npm ci
        working-directory: backend

      - name: Restart pm2
        run: pm2 restart 0 && pm2 restart 1


Проблема возникает при выполнении шагов сборки фронтенда, когда папка backend сбрасывается и теряет свои зависимости, в том числе node_modules. В результате не удается запустить бэкенд. Как можно решить эту проблему, чтобы файлы не сбрасывались при сборке фронтенда и бэкенд корректно запускался после этого?

Что я пытался сделать:
Я настроил workflow в GitHub Actions, чтобы сначала билдилась папка с фронтендом, а затем с бэкендом в монорепозитории. Ожидал, что после сборки фронтенда, сборка бэкенда будет выполнена корректно, с установкой зависимостей как для фронтенда, так и для бэкенда. После этого планировал перезапустить PM2 для обоих сервисов.

Что я ожидал:
Ожидал, что фронтенд соберется без проблем, и затем бэкенд будет собран и запущен корректно, с сохранением всех зависимостей и успешным перезапуском PM2 для обоих сервисов.

Что получилось на самом деле:
Фронтенд собирается успешно, но в процессе папка с бэкендом перезаписывается, и теряются зависимости, включая папку node_modules. В результате бэкенд не запускается после сборки фронтенда, так как необходимые зависимости отсутствуют.
  • Вопрос задан
  • 79 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы