dev onboarding doc
This commit is contained in:
parent
ec5f9b43b1
commit
d29aef4b09
1 changed files with 89 additions and 2 deletions
91
README.md
91
README.md
|
|
@ -1,3 +1,90 @@
|
||||||
# onboarding
|
# Онбординг: мы переехали с GitLab на Forgejo
|
||||||
|
|
||||||
Dev onboarding — what changed in the GitLab→Forgejo move
|
GitLab выключен. Весь код, CI и деплой теперь на **Forgejo**:
|
||||||
|
**https://git.154.83.149.72.nip.io**
|
||||||
|
|
||||||
|
Твой аккаунт и все репы (код + история) уже перенесены — заводить ничего не надо.
|
||||||
|
Ниже — что поменялось лично для тебя и что сделать один раз.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## TL;DR (5 минут)
|
||||||
|
1. Зайди на https://git.154.83.149.72.nip.io — логин тот же, **временный пароль возьми у админа** → смени при первом входе.
|
||||||
|
2. Добавь свой SSH-ключ (Settings → SSH/GPG Keys). Новый порт — **2223**.
|
||||||
|
3. Перепривяжи `remote` своих реп на новый хост.
|
||||||
|
4. Деплой теперь через `.forgejo/workflows/deploy.yml` + `.env` (форкни `templates/starter`). Push в `main` → сайт с SSL.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Доступ
|
||||||
|
- Форж: **https://git.154.83.149.72.nip.io**
|
||||||
|
- Логин: **твой прежний username** (как на GitLab).
|
||||||
|
- Пароль: **временный, возьми у админа**. При первом входе форж заставит сменить.
|
||||||
|
|
||||||
|
> ⚠️ Пока не сменишь пароль в вебе — git по HTTPS/паролю работать НЕ будет (так задумано: временный пароль одноразовый).
|
||||||
|
|
||||||
|
## 2. Git: новый хост, порт и ключ
|
||||||
|
SSH-ключи с GitLab **не переехали** — добавь заново.
|
||||||
|
|
||||||
|
| | было (GitLab) | стало (Forgejo) |
|
||||||
|
|---|---|---|
|
||||||
|
| SSH | `git@gitlab.extractl.online:2222` | `git@git.154.83.149.72.nip.io:2223` |
|
||||||
|
| HTTPS | `https://gitlab.extractl.online/…` | `https://git.154.83.149.72.nip.io/…` |
|
||||||
|
|
||||||
|
1. **Settings → SSH/GPG Keys → Add Key** → вставь `~/.ssh/id_ed25519.pub`.
|
||||||
|
2. `~/.ssh/config`:
|
||||||
|
```
|
||||||
|
Host git.154.83.149.72.nip.io
|
||||||
|
Port 2223
|
||||||
|
User git
|
||||||
|
```
|
||||||
|
3. Перепривяжи каждую репу:
|
||||||
|
```
|
||||||
|
git remote set-url origin git@git.154.83.149.72.nip.io:<твой-логин>/<репа>.git
|
||||||
|
```
|
||||||
|
(Или HTTPS — логин + новый пароль, без `~/.ssh/config`.)
|
||||||
|
|
||||||
|
## 3. Твои репы
|
||||||
|
Уже на Forgejo, код и история целы. Просто перепривяжи `remote` (см. выше) — и работаешь как раньше.
|
||||||
|
|
||||||
|
## 4. Деплой: новый флоу
|
||||||
|
Принцип тот же (`.env` с `DOMAIN` → push → сайт с SSL), формат CI поменялся.
|
||||||
|
|
||||||
|
| | было (GitLab) | стало (Forgejo) |
|
||||||
|
|---|---|---|
|
||||||
|
| CI-файл | `.gitlab-ci.yml` (`include auto.yml`) | `.forgejo/workflows/deploy.yml` |
|
||||||
|
| конфиг | `.env` | `.env` (почти то же) |
|
||||||
|
| триггер | push в `main` | push в дефолт-ветку |
|
||||||
|
| скорость | ~1–2 мин | ~20–60 сек |
|
||||||
|
|
||||||
|
**Что сделать:** форкни **`templates/starter`** (https://git.154.83.149.72.nip.io/templates/starter)
|
||||||
|
или скопируй из него 2 файла в корень своей репы:
|
||||||
|
- `.forgejo/workflows/deploy.yml` — трогать не надо
|
||||||
|
- `.env` — минимум `DOMAIN=твойсайт.com`
|
||||||
|
|
||||||
|
Push в `main` → сайт встаёт.
|
||||||
|
|
||||||
|
### Тип проекта — новое поле `DEPLOY` в `.env` (можно не указывать, авто-детект)
|
||||||
|
- **`static`** — фронт (Vite / CRA / Next static export): build → раздаётся статикой. Дефолт, если в корне НЕТ `Dockerfile`. Самый быстрый.
|
||||||
|
- **`docker`** — свой `Dockerfile` → контейнер. Дефолт, если `Dockerfile` есть.
|
||||||
|
- **`docker-db`** — docker + персистентная **SQLite**: монтируется volume в `/data`, прокидывается `DATABASE_URL=file:/data/app.db`.
|
||||||
|
|
||||||
|
## 5. Секреты (DATABASE_URL, API-ключи) — поменялось
|
||||||
|
| | было (GitLab) | стало (Forgejo) |
|
||||||
|
|---|---|---|
|
||||||
|
| где задать | CI/CD Variables с префиксом `RUNTIME_` | **Settings → Actions → Secrets** (имя секрета = имя переменной) |
|
||||||
|
| как включить | автоматом все `RUNTIME_*` | перечислить в `.env`: `RUNTIME_KEYS=DATABASE_URL,JWT_SECRET` |
|
||||||
|
|
||||||
|
В коде читаешь как раньше — `process.env.DATABASE_URL`. Для `DEPLOY=docker-db` переменную `DATABASE_URL` указывать не надо (ставится автоматически).
|
||||||
|
|
||||||
|
## 6. Ещё мелочи
|
||||||
|
- **Build на bun** — если закоммитишь `bun.lock`, install в 10–30× быстрее npm. Для Web3/Solana-проектов огромная разница.
|
||||||
|
- **Registry больше не нужен** — образ собирается и запускается на месте.
|
||||||
|
- **Kill-switch** как раньше: `ENABLED=false` в `.env` → сайт отдаёт 404; убери строку (или `true`) → вернётся.
|
||||||
|
- **БД**: вместо общего Postgres — своя SQLite в volume (`docker-db`). Если нужна была твоя старая Postgres-дата — скажи админу, достанем из бэкапа.
|
||||||
|
|
||||||
|
## 7. Полная дока
|
||||||
|
Деплой во всех деталях (CRA, Next.js, монорепо, кастомный Dockerfile, авто-www и т.д.) —
|
||||||
|
**README в `templates/starter`**: https://git.154.83.149.72.nip.io/templates/starter
|
||||||
|
|
||||||
|
Застрял — пиши админу.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue