Files
neon-bar86.ru/README-dev.md
T
merrow 4c2356a45b
CI/CD / Деплой neon-bar86.ru (push) Successful in 25s
CI/CD / Тесты CRM (push) Successful in 35s
документация: README для разработчика и девопса (гит-цикл, деплой, откат)
2026-10-11 23:52:49 +05:00

40 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Разработчику — работа с репозиторием neon-bar86.ru
Репозиторий: `git.merrow.dev/merrow/neon-bar86.ru` (Gitea).
Стек: `site/` — сайт (Vite + nginx), `crm/` — CRM API (чистый Python; в проде PostgreSQL, в тестах SQLite).
## Первый раз
1. Сгенерируй SSH-ключ и добавь публичный ключ в Gitea: Настройки → **SSH / GPG ключи**.
2. Склонируй:
```bash
git clone ssh://git@git.merrow.dev:22022/merrow/neon-bar86.ru.git
```
3. Проверь локально, что тесты идут (Docker не нужен — тесты работают на SQLite):
```bash
cd crm
py -m pytest tests -q # Windows; на Linux/macOS: python3 -m pytest tests -q
```
Ожидается `27 passed`. Каталог `crm/data/` создастся сам — он в `.gitignore`.
## Работа над фичей
```bash
git switch main && git pull
git switch -c feature/<краткое-имя>
# ...код...
cd crm && py -m pytest tests -q # локальный прогон перед пушем
git add -A && git commit -m "кратко: что сделано"
git push -u origin feature/<имя>
```
- Пуш ветки запускает **тесты** в CI: репо → **Действия** (Actions) — смотри статус, красный = чини.
- **Деплой на сайт делает девопс** — код попадает на прод только через `main`.
## Правила
- В `main` напрямую не пушим: через Pull Request («Запрос на слияние») или по согласованию с девопсом.
- Секреты и данные не коммитим: `.env`, `crm/media/`, `crm/data/` — в `.gitignore`; `git add -f` для них запрещён.
- Новая логика CRM — с тестом в `crm/tests/` (тесты крутят настоящий сервер на SQLite, см. соседние тесты как образец).
- Помни: состав/цена заказа валидируются **только по каталогу CRM** — данным клиента на фронте верить нельзя.