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

4.9 KiB
Raw Blame History

Quick Start Guide для GitHub Actions Deploy

🚀 Быстрая настройка

1. Настройка тестового сервера

Запустите на своем тестовом сервере:

# Скачать и запустить скрипт настройки
curl -sSL https://raw.githubusercontent.com/YOUR_USERNAME/YOUR_REPO/main/scripts/setup-testing-server.sh | bash

Или вручную:

git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
cd YOUR_REPO
./scripts/setup-testing-server.sh

2. Настройка SSH ключей

На тестовом сервере добавьте свой публичный SSH ключ:

# Генерация нового 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 с информацией о развертывании

📝 Полезные команды на сервере

# Мониторинг всех развертываний
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 подключении

# На сервере проверьте права доступа
sudo ls -la /home/deploy/.ssh/
sudo cat /home/deploy/.ssh/authorized_keys

# Права должны быть:
# drwx------ deploy deploy .ssh/
# -rw------- deploy deploy authorized_keys

Проблема: Порт уже занят

# Найти процесс использующий порт
sudo netstat -tulpn | grep :3123

# Остановить все контейнеры для PR
cd /opt/low-code-engine/testing-pr-123
docker-compose down

Проблема: Не хватает места на диске

# Очистить Docker ресурсы
docker system prune -a -f

# Очистить старые развертывания
sudo /usr/local/bin/cleanup-old-deployments

Проблема: База данных не запускается

# Проверить логи 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

📊 Мониторинг

Проверить статус всех развертываний:

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%)