Files
docs/infrastructure/local-k8s/redmine-gitea.md
T
2026-06-03 18:38:46 +03:00

2.2 KiB
Raw Blame History

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.

Подготовка

cd k8s
./scripts/bootstrap-redmine.sh
./scripts/setup-gitea-redmine-integration.sh

Скрипт сам находит кластер с namespace redmine и Multipass VM по kubectl get nodes (например sova-test192.168.252.2, не обязательно vm-k8s-app-test).

В /etc/hosts — IP из вывода скрипта (mp_print_kubectl_target):

192.168.252.2  redmine.sova.local   # пример: кластер sova-test

Правило для MR

В заголовке или описании pull request:

Refs #27

или #27 — иначе bridge не привяжет MR к задаче.

Пример заголовка:

feat(adminpanel): content CRUD generic pages (Refs #27)

Что настроит скрипт

  1. Deployment redmine-gitea-bridge (NodePort 30388 на VM с Redmine).
  2. В каждом repo Gitea:
    • External trackerhttp://redmine.sova.local/issues/{index}
    • Webhook pull_request → bridge.

Проверка

curl -s http://<APP_VM_IP>:30388/healthz

Создайте MR в Gitea с #27, Refs #27 или веткой/заголовком issues/27 → в Redmine на #27 появится комментарий со ссылкой (Textile, URL с портом :30300).

Если webhook не сработал: ./scripts/sync-redmine-mr-notes.sh 27 backend adminpanel

Связанные документы