Files
few-line-engine/QUICK-START.md
lborv 41f1c402ed feat: Add test deployment workflow and setup documentation
- Implemented a new GitHub Actions workflow for testing deployments (`test-deployment.yml`).
- Created detailed deployment documentation (`DEPLOYMENT-README.md`, `DEPLOYMENT.md`, `QUICK-START.md`) for setting up the testing server and configuring GitHub secrets.
- Added a setup script (`setup-testing-server.sh`) for automating the environment setup on the testing server, including Docker, Nginx, and user configurations.
- Included monitoring and cleanup scripts for managing deployments on the server.
2025-10-13 20:59:12 +03:00

179 lines
4.9 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.

# Quick Start Guide для GitHub Actions Deploy
## 🚀 Быстрая настройка
### 1. Настройка тестового сервера
Запустите на своем тестовом сервере:
```bash
# Скачать и запустить скрипт настройки
curl -sSL https://raw.githubusercontent.com/YOUR_USERNAME/YOUR_REPO/main/scripts/setup-testing-server.sh | bash
```
Или вручную:
```bash
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
cd YOUR_REPO
./scripts/setup-testing-server.sh
```
### 2. Настройка SSH ключей
На тестовом сервере добавьте свой публичный SSH ключ:
```bash
# Генерация нового SSH ключа (если нужно)
ssh-keygen -t ed25519 -C "github-actions@yourdomain.com" -f ~/.ssh/github_actions
# Добавление публичного ключа на сервер
sudo -u deploy tee -a /home/deploy/.ssh/authorized_keys < ~/.ssh/github_actions.pub
```
### 3. Настройка GitHub Secrets
В настройках GitHub репозитория (Settings → Secrets and variables → Actions) добавьте:
**Required Secrets:**
```
TESTING_SERVER_HOST=your.server.ip.address
TESTING_SERVER_USER=deploy
TESTING_SERVER_SSH_KEY=-----BEGIN OPENSSH PRIVATE KEY-----
your private key content here
-----END OPENSSH PRIVATE KEY-----
TESTING_DB_ROOT_PASSWORD=your_strong_root_password
TESTING_DB_USERNAME=app_user
TESTING_DB_PASSWORD=your_strong_user_password
```
**Optional Variables:**
```
TESTING_BASE_PORT=3000
TESTING_BASE_DB_PORT=3300
TESTING_BASE_REDIS_PORT=6300
```
### 4. Тестирование
1. Создайте новую ветку и сделайте изменения
2. Создайте Pull Request в ветку `develop`
3. GitHub Actions автоматически развернет приложение
4. Проверьте комментарий в PR с информацией о развертывании
## 📝 Полезные команды на сервере
```bash
# Мониторинг всех развертываний
sudo /usr/local/bin/monitor-deployments
# Очистка старых развертываний
sudo /usr/local/bin/cleanup-old-deployments
# Просмотр логов конкретного PR
cd /opt/low-code-engine/testing-pr-123
docker-compose logs -f app
# Проверка статуса контейнеров
docker-compose ps
# Запуск миграций вручную
docker-compose exec app yarn migration:run
```
## 🔧 Troubleshooting
### Проблема: "Permission denied" при SSH подключении
```bash
# На сервере проверьте права доступа
sudo ls -la /home/deploy/.ssh/
sudo cat /home/deploy/.ssh/authorized_keys
# Права должны быть:
# drwx------ deploy deploy .ssh/
# -rw------- deploy deploy authorized_keys
```
### Проблема: Порт уже занят
```bash
# Найти процесс использующий порт
sudo netstat -tulpn | grep :3123
# Остановить все контейнеры для PR
cd /opt/low-code-engine/testing-pr-123
docker-compose down
```
### Проблема: Не хватает места на диске
```bash
# Очистить Docker ресурсы
docker system prune -a -f
# Очистить старые развертывания
sudo /usr/local/bin/cleanup-old-deployments
```
### Проблема: База данных не запускается
```bash
# Проверить логи MariaDB
docker-compose logs mariadb
# Пересоздать контейнер базы данных
docker-compose down
docker-compose up -d mariadb
```
## 🌐 Доступ к приложениям
### По портам (прямой доступ):
- Приложение: `http://YOUR_SERVER_IP:3000{PR_NUMBER}`
- База данных: `YOUR_SERVER_IP:3300{PR_NUMBER}`
- Redis: `YOUR_SERVER_IP:6300{PR_NUMBER}`
### Через домены (если настроен Nginx):
- Приложение: `http://pr-{PR_NUMBER}.testing.yourdomain.com`
Пример для PR #123:
- Приложение: `http://your.server.ip:3123` или `http://pr-123.testing.yourdomain.com`
- База данных: `your.server.ip:3423`
- Redis: `your.server.ip:6423`
## 📊 Мониторинг
Проверить статус всех развертываний:
```bash
sudo /usr/local/bin/monitor-deployments
```
Вывод будет примерно таким:
```
=== Testing Deployments Status ===
Date: Mon Oct 13 10:30:00 UTC 2025
Active Deployments:
PR #123: Running on port 3123
Status: ✅ Healthy
PR #124: Running on port 3124
Status: ❌ Unhealthy
=== System Resources ===
Disk Usage:
/dev/sda1 20G 8.5G 11G 45% /opt/low-code-engine
Docker Usage:
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 15 8 2.5GB 1.2GB (48%)
Containers 16 8 150MB 80MB (53%)
```