документация: README для разработчика и девопса (гит-цикл, деплой, откат)
This commit is contained in:
1 parent
8f9973a2cc
commit
4c2356a45b
2 files changed
+106
No files matched your search
@@ -0,0 +1,39 @@
|
||||
# Разработчику — работа с репозиторием 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** — данным клиента на фронте верить нельзя.
|
||||
Reference in new issue
Block a user