fix: update comments and documentation to English for consistency
This commit is contained in:
146
DEPLOYMENT.md
146
DEPLOYMENT.md
@ -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
|
||||
|
||||
Reference in New Issue
Block a user