88 lines
2.1 KiB
Markdown
88 lines
2.1 KiB
Markdown
# Обновление проекта из Git
|
||
|
||
## Проблема
|
||
|
||
Ошибка при сборке:
|
||
```
|
||
error Your lockfile needs to be updated, but yarn was run with `--frozen-lockfile`.
|
||
```
|
||
|
||
**Причина:** На хосте используется Yarn 4.x, а в Docker — Yarn 1.x. Форматы `yarn.lock` несовместимы.
|
||
|
||
## Решение
|
||
|
||
### Шаг 1: Получите исправленную версию
|
||
|
||
```bash
|
||
cd /home/ubuntu/global_it24_landing
|
||
git pull origin master
|
||
```
|
||
|
||
### Шаг 2: Запустите сборку
|
||
|
||
```bash
|
||
./deploy-simple.sh
|
||
```
|
||
|
||
**Что изменилось:**
|
||
- Убран флаг `--frozen-lockfile` из Dockerfile
|
||
- Yarn будет генерировать совместимый `yarn.lock` внутри контейнера
|
||
- Сборка займет 15-20 минут
|
||
|
||
## Альтернатива: Чистая пересборка
|
||
|
||
Если хотите полностью очистить кеш:
|
||
|
||
```bash
|
||
cd /home/ubuntu/global_it24_landing
|
||
|
||
# Остановка контейнеров
|
||
docker compose down
|
||
|
||
# Удаление старых образов
|
||
docker system prune -a --volumes
|
||
|
||
# Получение обновлений
|
||
git pull origin master
|
||
|
||
# Сборка
|
||
./deploy-simple.sh
|
||
```
|
||
|
||
## Проверка после сборки
|
||
|
||
```bash
|
||
# Статус контейнеров
|
||
./status.sh
|
||
|
||
# Логи приложения
|
||
./logs.sh
|
||
|
||
# Проверка работы
|
||
curl http://localhost:3000
|
||
```
|
||
|
||
## Если нужна помощь
|
||
|
||
Проверьте версию Yarn:
|
||
```bash
|
||
yarn --version
|
||
```
|
||
|
||
Если показывает 4.x — это нормально. В Docker используется 1.x, и это тоже правильно.
|
||
|
||
## Автоматическое обновление
|
||
|
||
Для будущих обновлений используйте:
|
||
|
||
```bash
|
||
cd /home/ubuntu/global_it24_landing
|
||
./update.sh
|
||
```
|
||
|
||
Этот скрипт автоматически:
|
||
- Остановит контейнеры
|
||
- Получит обновления из Git
|
||
- Пересоберет образы
|
||
- Запустит новую версию
|