fix: update comments and documentation to English for consistency

This commit is contained in:
lborv
2025-10-13 21:25:36 +03:00
parent aaa8680421
commit ff664c2086
3 changed files with 88 additions and 325 deletions

View File

@ -1,86 +1,86 @@
# GitHub Actions Deployment Setup
Этот документ описывает настройку автоматического развертывания на тестовом сервере при создании Pull Request в ветку `develop`.
This document describes the setup for automatic deployment to a testing server when creating a Pull Request to the `develop` branch.
## Требуемые GitHub Secrets
## Required GitHub Secrets
Перейдите в настройки репозитория → Settings → Secrets and variables → Actions и добавьте следующие секреты:
Go to repository settings → Settings → Secrets and variables → Actions and add the following secrets:
### SSH Connection
- `TESTING_SERVER_HOST` - IP адрес или домен тестового сервера
- `TESTING_SERVER_USER` - Пользователь для SSH подключения (например: `deploy`)
- `TESTING_SERVER_SSH_KEY` - Приватный SSH ключ для подключения к серверу
- `TESTING_SERVER_PORT` - (опционально) Порт SSH (по умолчанию 22)
- `TESTING_SERVER_HOST` - IP address or domain of the testing server
- `TESTING_SERVER_USER` - User for SSH connection (e.g., `deploy`)
- `TESTING_SERVER_SSH_KEY` - Private SSH key for server connection
- `TESTING_SERVER_PORT` - (optional) SSH port (default: 22)
### Database Configuration
- `TESTING_DB_ROOT_PASSWORD` - Root пароль для MariaDB
- `TESTING_DB_USERNAME` - Пользователь базы данных
- `TESTING_DB_PASSWORD` - Пароль пользователя базы данных
- `TESTING_DB_ROOT_PASSWORD` - Root password for MariaDB
- `TESTING_DB_USERNAME` - Database user
- `TESTING_DB_PASSWORD` - Database user password
## Требуемые GitHub Variables
## Required GitHub Variables
Перейдите в настройки репозитория → Settings → Secrets and variables → Actions → Variables и добавьте:
Go to repository settings → Settings → Secrets and variables → Actions → Variables and add:
- `TESTING_BASE_PORT` - Базовый порт для приложений (по умолчанию: 3000)
- `TESTING_BASE_DB_PORT` - Базовый порт для баз данных (по умолчанию: 3306)
- `TESTING_BASE_REDIS_PORT` - Базовый порт для Redis (по умолчанию: 6379)
- `TESTING_BASE_PORT` - Base port for applications (default: 3000)
- `TESTING_BASE_DB_PORT` - Base port for databases (default: 3306)
- `TESTING_BASE_REDIS_PORT` - Base port for Redis (default: 6379)
## Настройка тестового сервера
## Testing Server Setup
### 1. Установка Docker и Docker Compose
### 1. Installing Docker and Docker Compose
```bash
# Обновление системы
# System update
sudo apt update && sudo apt upgrade -y
# Установка Docker
# Docker installation
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Добавление пользователя в группу docker
# Add user to docker group
sudo usermod -aG docker $USER
# Установка Docker Compose
# Install Docker Compose
sudo apt install docker-compose-plugin -y
```
### 2. Создание пользователя для развертывания
### 2. Creating deployment user
```bash
# Создание пользователя
# Create user
sudo useradd -m -s /bin/bash deploy
sudo usermod -aG docker deploy
# Создание директории для SSH ключей
# Create SSH keys directory
sudo mkdir -p /home/deploy/.ssh
sudo chmod 700 /home/deploy/.ssh
# Добавление публичного SSH ключа
# Add public SSH key
sudo nano /home/deploy/.ssh/authorized_keys
# Вставьте публичный ключ, соответствующий приватному ключу в TESTING_SERVER_SSH_KEY
# Insert public key corresponding to private key in TESTING_SERVER_SSH_KEY
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown -R deploy:deploy /home/deploy/.ssh
# Создание директории для приложений
# Create applications directory
sudo mkdir -p /opt/low-code-engine
sudo chown deploy:deploy /opt/low-code-engine
```
### 3. Настройка Nginx (опционально)
### 3. Nginx Setup (Optional)
Если хотите использовать доменные имена вместо портов:
If you want to use domain names instead of ports:
```bash
sudo apt install nginx -y
# Создание конфигурации для тестовых приложений
# Create configuration for testing applications
sudo nano /etc/nginx/sites-available/testing-apps
```
Содержимое файла:
File content:
```nginx
server {
@ -99,76 +99,76 @@ server {
```
```bash
# Активация конфигурации
# Activate configuration
sudo ln -s /etc/nginx/sites-available/testing-apps /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
```
## Как работает развертывание
## How Deployment Works
### Процесс развертывания
### Deployment Process
1. **Trigger**: Создание или обновление Pull Request в ветку `develop`
2. **Build**: Сборка приложения и создание Docker образа
3. **Deploy**: Копирование файлов на сервер и запуск контейнеров
4. **Health Check**: Проверка доступности приложения
5. **Comment**: Добавление комментария в PR с информацией о развертывании
1. **Trigger**: Creating or updating Pull Request to `develop` branch
2. **Build**: Building application and creating Docker image
3. **Deploy**: Copying files to server and starting containers
4. **Health Check**: Checking application availability
5. **Comment**: Adding comment to PR with deployment information
### Структура на сервере
### Server Structure
```
/opt/low-code-engine/
├── testing-pr-123/ # Отдельная директория для каждого PR
│ ├── docker-compose.yml # Основной docker-compose файл
│ ├── docker-compose.override.yml # Переопределения для тестинга
│ ├── .env # Переменные окружения
│ ├── docker/ # Docker конфигурации
│ └── low-code-engine-testing.tar.gz # Docker образ
├── testing-pr-123/ # Separate directory for each PR
│ ├── docker-compose.yml # Main docker-compose file
│ ├── docker-compose.override.yml # Testing overrides
│ ├── .env # Environment variables
│ ├── docker/ # Docker configurations
│ └── low-code-engine-testing.tar.gz # Docker image
├── testing-pr-124/
└── ...
```
### Порты
### Ports
Каждому PR назначаются уникальные порты:
Each PR is assigned unique ports:
- Приложение: `TESTING_BASE_PORT + PR_NUMBER` (например: 3000 + 123 = 3123)
- База данных: `TESTING_BASE_DB_PORT + PR_NUMBER` (например: 3306 + 123 = 3429)
- Redis: `TESTING_BASE_REDIS_PORT + PR_NUMBER` (например: 6379 + 123 = 6502)
- Application: `TESTING_BASE_PORT + PR_NUMBER` (e.g., 3000 + 123 = 3123)
- Database: `TESTING_BASE_DB_PORT + PR_NUMBER` (e.g., 3306 + 123 = 3429)
- Redis: `TESTING_BASE_REDIS_PORT + PR_NUMBER` (e.g., 6379 + 123 = 6502)
### Cleanup
При закрытии или мердже PR автоматически происходит:
When PR is closed or merged, automatically:
1. Остановка и удаление контейнеров
2. Удаление Docker образов
3. Удаление файлов на сервере
4. Добавление комментария об очистке
1. Stop and remove containers
2. Remove Docker images
3. Remove files on server
4. Add cleanup comment
## Безопасность
## Security
1. **SSH ключи**: Используйте отдельный SSH ключ только для развертывания
2. **Пользователь**: Создайте отдельного пользователя с минимальными правами
3. **Firewall**: Настройте фаервол для ограничения доступа к портам
4. **SSL/TLS**: Рассмотрите использование SSL сертификатов для HTTPS
1. **SSH Keys**: Use separate SSH key only for deployment
2. **User**: Create separate user with minimal privileges
3. **Firewall**: Configure firewall to restrict port access
4. **SSL/TLS**: Consider using SSL certificates for HTTPS
## Мониторинг и логи
## Monitoring and Logs
### Просмотр логов приложения
### View Application Logs
```bash
cd /opt/low-code-engine/testing-pr-{PR_NUMBER}
docker-compose logs -f app
```
### Просмотр статуса контейнеров
### View Container Status
```bash
docker-compose ps
```
### Мониторинг ресурсов
### Resource Monitoring
```bash
docker stats
@ -176,33 +176,33 @@ docker stats
## Troubleshooting
### Проблемы с портами
### Port Issues
Если порт занят, проверьте какие приложения его используют:
If port is occupied, check which applications are using it:
```bash
sudo netstat -tulpn | grep :{PORT}
```
### Проблемы с Docker
### Docker Issues
Очистка неиспользуемых ресурсов:
Clean up unused resources:
```bash
docker system prune -f
```
### Проблемы с базой данных
### Database Issues
Проверка подключения к базе данных:
Check database connection:
```bash
docker-compose exec mariadb mysql -u root -p -e "SHOW DATABASES;"
```
### Проблемы с миграциями
### Migration Issues
Ручной запуск миграций:
Manual migration run:
```bash
docker-compose exec app yarn migration:run