66 lines
2.2 KiB
Markdown
66 lines
2.2 KiB
Markdown
# Redmine ↔ Gitea (MR → задача #N)
|
||
|
||
## Модель
|
||
|
||
| Компонент | Назначение |
|
||
|-----------|------------|
|
||
| **Redmine** | Проект **«Новый сайт»** (`novyj-sajt`), задача **#27** |
|
||
| **Gitea** | `backend`, `adminpanel`, `cabinet`, `docs` |
|
||
| **redmine-gitea-bridge** | Webhook `pull_request` → комментарий в Redmine со ссылкой на MR |
|
||
|
||
Несколько MR (например backend + adminpanel) с `#27` в заголовке/описании → **несколько комментариев** в одной задаче #27.
|
||
|
||
## Подготовка
|
||
|
||
```bash
|
||
cd k8s
|
||
./scripts/bootstrap-redmine.sh
|
||
./scripts/setup-gitea-redmine-integration.sh
|
||
```
|
||
|
||
Скрипт сам находит кластер с `namespace redmine` и Multipass VM по `kubectl get nodes` (например `sova-test` → `192.168.252.2`, не обязательно `vm-k8s-app-test`).
|
||
|
||
В `/etc/hosts` — IP из вывода скрипта (`mp_print_kubectl_target`):
|
||
|
||
```text
|
||
192.168.252.2 redmine.sova.local # пример: кластер sova-test
|
||
```
|
||
|
||
## Правило для MR
|
||
|
||
В **заголовке или описании** pull request:
|
||
|
||
```text
|
||
Refs #27
|
||
```
|
||
|
||
или `#27` — иначе bridge не привяжет MR к задаче.
|
||
|
||
Пример заголовка:
|
||
|
||
```text
|
||
feat(adminpanel): content CRUD generic pages (Refs #27)
|
||
```
|
||
|
||
## Что настроит скрипт
|
||
|
||
1. Deployment `redmine-gitea-bridge` (NodePort **30388** на VM с Redmine).
|
||
2. В каждом repo Gitea:
|
||
- **External tracker** → `http://redmine.sova.local/issues/{index}`
|
||
- **Webhook** `pull_request` → bridge.
|
||
|
||
## Проверка
|
||
|
||
```bash
|
||
curl -s http://<APP_VM_IP>:30388/healthz
|
||
```
|
||
|
||
Создайте MR в Gitea с **`#27`**, **`Refs #27`** или веткой/заголовком **`issues/27`** → в Redmine на [#27](http://redmine.sova.local/issues/27) появится комментарий со ссылкой (Textile, URL с портом `:30300`).
|
||
|
||
Если webhook не сработал: `./scripts/sync-redmine-mr-notes.sh 27 backend adminpanel`
|
||
|
||
## Связанные документы
|
||
|
||
- [Git-flow](./git-flow)
|
||
- [Redmine (test-contour)](../test-contour/guides/redmine.md)
|