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