architect/standards/processes/DEPLOY_MIRROR.md

DEPLOY MIRROR — Работа с внешними серверами

Версия: 1.0.0
Дата: 2026-03-14
Статус: временный стандарт (до Platform 2)


Суть

Любая работа с внешним сервером ведётся через зеркало в workspace.
Перед любым изменением — бэкап.


Структура

WORKSPACE (git):
projects/org/{project}/deploy/
├── README.md              ← что за сервер, как подключаться
├── _backups/              ← бэкапы файлов ДО изменения
│   └── 2026-03-14_module.php
└── {путь от корня сайта}/ ← зеркало файлов сервера
    └── modules/
        └── lider_import.php

DATASPACE (S3):
projects/{project}/backups/
└── 2026-03-14_db.sql      ← дампы БД

Процедура изменения файла

1. ЗЕРКАЛО
   Скопировать файл/папку с сервера в deploy/
   scp user@server:/path/to/file projects/org/{proj}/deploy/path/to/file

2. БЭКАП
   cp deploy/path/file deploy/_backups/YYYY-MM-DD_file

3. ИЗМЕНИТЬ
   Правим файл в зеркале (в workspace)

4. ДЕПЛОЙ
   scp deploy/path/file user@server:/path/to/file

5. КОММИТ
   git add deploy/ && git commit -m "deploy({project}): что изменили"

Процедура изменения БД

1. ДАМП
   ssh user@server
   mysqldump -u user -p db_name > /tmp/YYYY-MM-DD_db.sql

2. Скачать дамп в DATASPACE
   scp user@server:/tmp/YYYY-MM-DD_db.sql $DATASPACE/projects/{proj}/backups/

3. МИГРАЦИЯ
   Выполнить SQL на сервере

4. ПРОВЕРИТЬ
   Убедиться что всё работает

Что в workspace, что в dataspace

Тип файла Где
PHP, конфиги, шаблоны (.twig, .html) WORKSPACE deploy/_backups/
Дампы БД (.sql) DATASPACE backups/
Изображения, медиа DATASPACE
Архивы сайта (.zip) DATASPACE

Серверы проектов

Алиас Проект Сервер Технология
@beget-lideravto lideravto beget shared CS-Cart 4.x
@beget-pirotehnika pirotehnika beget shared OpenCart
@beget-feyerverk pirotehnika beget shared Webasyst

Правило

Нет зеркала — нет изменений.
Нет бэкапа — нет изменений.


Полный стандарт появится в: architect/standards/REMOTE_SERVER_STANDARD.md