Files
softclick-landing/scripts/docs/COMMIT-AND-DEPLOY.md
2026-04-02 23:35:06 +03:00

268 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 Готово к коммиту и деплою!
## ✅ Все исправления применены
### Что было исправлено:
1. ✅ **Node.js версия зафиксирована на 18 LTS**
- Создан `.nvmrc`
- Добавлен `engines` в `package.json`
- `netlify.toml` уже содержал NODE_VERSION = "18"
2. ✅ **Vite настроен на сборку в папку `build`**
- Обновлён `vite.config.ts`: `outDir: 'build'`
- `netlify.toml` указывает `publish = "build"`
3. ✅ **Созданы скрипты проверки**
- `check-build.sh` (Linux/Mac)
- `check-build.bat` (Windows)
4. ✅ **Создан .gitignore**
- Исключены node_modules, логи, кеш
5. ✅ **Документация обновлена**
- NODE-VERSION-FIX.md
- NETLIFY-FIX.md
- LATEST-FIXES.md
- README.md
---
## 📋 Шаги для деплоя
### Шаг 1: Проверка локально (опционально)
**Убедитесь что используете Node.js 18:**
```bash
# Проверить версию
node -v
# Если не v18.x.x, установите:
nvm install 18
nvm use 18
```
**Запустите проверку сборки:**
```bash
# Linux/Mac
chmod +x check-build.sh
./check-build.sh
# Windows
check-build.bat
```
**Ожидаемый результат:**
```
✅ Node.js версия совместима (v18.x.x)
✅ BUILD OUTPUT: build
📋 Для Netlify используйте: publish = "build"
```
---
### Шаг 2: Коммит изменений
```bash
# Проверьте что изменилось
git status
# Добавьте все файлы
git add .
# Закоммитьте с понятным сообщением
git commit -m "Fix: Pin Node.js to v18 LTS and configure Vite outDir to 'build'"
# Альтернативный вариант (более детальный):
git commit -m "Fix deployment configuration
- Pin Node.js to v18 LTS (.nvmrc + package.json engines)
- Update vite.config.ts outDir from 'dist' to 'build'
- Update check-build scripts with Node version validation
- Add comprehensive deployment documentation"
```
---
### Шаг 3: Пуш в GitHub
```bash
# Запушьте в main (или master) ветку
git push origin main
# Или если используете master:
# git push origin master
```
---
### Шаг 4: Наблюдайте за деплоем в Netlify
После пуша:
1. **Откройте Netlify Dashboard**
- Перейдите на https://app.netlify.com
- Откройте ваш сайт
- Нажмите на **"Deploys"**
2. **Следите за логами**
- Должен начаться новый деплой (обычно в течение 10-30 секунд)
- Нажмите на последний деплой чтобы открыть логи
3. **Что искать в логах:**
**✅ Успешная сборка:**
```
v18.x.x is already installed.
Now using node v18.x.x (npm v9.x.x)
...
npm run build
...
vite v5.x.x building for production...
✓ built in X.XXs
build/assets/index-xxxxx.js
Deploy site
────────────────────────────────────────
✓ Deploy is live!
Website URL: https://your-site.netlify.app
```
**❌ Если ошибка:**
- Скопируйте полный текст ошибки
- См. раздел "Troubleshooting" ниже
---
## 🎉 После успешного деплоя
### Проверьте сайт:
1. **Откройте URL сайта** (из Netlify Dashboard)
2. **Проверьте основной функционал:**
- [ ] Главная страница загружается
- [ ] Навигация работает (Header меню)
- [ ] Переходы между страницами работают
- [ ] Стили применяются корректно
- [ ] Модальное окно "Обсудить проект" открывается
- [ ] Нет ошибок в консоли браузера (F12)
3. **Проверьте на мобильных устройствах:**
- [ ] Мобильное меню работает
- [ ] Responsive дизайн корректный
- [ ] Кнопки кликабельны
---
## 🔍 Troubleshooting
### Проблема 1: "Deploy directory 'build' does not exist"
**Решение:**
1. Проверьте логи сборки - успешно ли прошёл `npm run build`?
2. Если сборка падает, найдите строку с ошибкой
3. Попробуйте очистить кеш Netlify:
- Site settings → Build & deploy → Clear cache and retry deploy
### Проблема 2: Всё ещё используется Node.js v22
**Решение:**
1. Убедитесь что `.nvmrc` закоммичен: `git log --name-only -1`
2. Проверьте Netlify environment variables:
- Site settings → Environment variables
- Удалите переменную `NODE_VERSION` если она там есть (пусть используется .nvmrc)
3. Очистите кеш и retry deploy
### Проблема 3: Build успешен, но 404 или белый экран
**Решение:**
1. Проверьте что `publish` в netlify.toml правильный: `build`
2. В Site settings → Build & deploy → Build settings:
- Publish directory должна быть: `build`
3. Проверьте консоль браузера (F12) на наличие ошибок
### Проблема 4: Netlify всё ещё не работает
**Альтернативы:**
#### Cloudflare Pages (рекомендуется)
```
1. https://pages.cloudflare.com
2. Connect GitHub repository
3. Build command: npm run build
4. Build output: build
5. Environment: NODE_VERSION = 18
```
#### GitHub Pages (уже настроен)
```
1. GitHub repo → Settings → Pages
2. Source: GitHub Actions
3. Workflow автоматически задеплоится
```
---
## 📊 Ожидаемое время деплоя
- **Netlify:** ~2-3 минуты
- **Cloudflare Pages:** ~2-3 минуты
- **GitHub Pages:** ~3-5 минут
---
## 📖 Дополнительная документация
Если нужна дополнительная помощь:
- **NODE-VERSION-FIX.md** - детали о Node.js версии
- **NETLIFY-FIX.md** - решение проблем Netlify
- **LATEST-FIXES.md** - последние изменения
- **DEPLOYMENT.md** - полная инструкция по всем платформам
- **DEPLOY-QUICK.md** - быстрая шпаргалка
---
## 🎯 Команды для копирования
```bash
# Весь процесс одной командой:
node -v && \
git add . && \
git commit -m "Fix: Pin Node.js to v18 LTS and configure build output" && \
git push origin main && \
echo "✅ Pushed! Check Netlify Dashboard for deploy status."
```
---
## ✅ Финальный чеклист
- [x] Node.js 18 зафиксирован (.nvmrc, package.json)
- [x] vite.config.ts использует outDir: 'build'
- [x] netlify.toml использует publish: 'build'
- [x] Скрипты проверки обновлены
- [x] .gitignore создан
- [x] Документация обновлена
- [ ] **ВАШ ШАГ:** `git add .`
- [ ] **ВАШ ШАГ:** `git commit -m "..."`
- [ ] **ВАШ ШАГ:** `git push`
- [ ] **ПРОВЕРКА:** Netlify Deploy успешен
- [ ] **ПРОВЕРКА:** Сайт работает
---
## 🎊 Поздравляем!
После успешного деплоя ваш сайт SOFTCLICK будет доступен по URL от Netlify.
Вы также можете:
- Настроить **кастомный домен** (your-company.ru)
- Настроить **SSL сертификат** (HTTPS) - Netlify делает это автоматически
- Подключить **аналитику** (Yandex.Metrika, Google Analytics)
- Настроить **форму обратной связи** с реальной отправкой
**Удачи с проектом!** 🚀