docs/CI: раннер развёрнут на инфре B (repo-scope, host-исполнение)

act_runner v0.2.11 + Node 20 + Docker + systemd, метки self-hosted/f7-android
на хосте, тёплый кэш /root/.gradle. Зарегистрирован в scope репозитория
(repo-токен; site-admin токен подхватывал чужую ячейку glb_adm — не годится).
This commit is contained in:
b-dev-mobile
2026-07-09 03:20:32 +00:00
parent cfa9fe2ffd
commit d047dea210
+16 -7
View File
@@ -17,13 +17,20 @@ Gradle-кэшем, а не контейнер (иначе WebRTC качаетс
как у билд-машины: **JDK 21** (`/usr/lib/jvm/java-21-openjdk-amd64`) + **Android SDK 36**
(`/opt/android-sdk`, platform android-36, build-tools 36.0.0).
Регистрация (нужен registration-токен из Gitea → Settings → Actions → Runners, **права Gitea-админа**):
Регистрация **repo-токен** из Gitea → репозиторий `root/f7cloud_mobile` → Settings → Actions →
Runners → Create new Runner (НЕ site-admin токен — тот регистрирует раннер общеинстансно и он
подхватывает джобы чужих ячеек; проверено — брал `glb_adm/f7_talk`). Метки `self-hosted`+`f7-android`
соответствуют `runs-on: [self-hosted, f7-android]`.
**Развёрнуто на инфре B (2026-07-09):** `act_runner` v0.2.11 + Node 20 (`/opt/nodejs`) + Docker
(`docker.io`, нужен act_runner для старта, но джобы идут на **хосте** — метки `:host`, тёплый кэш
`/root/.gradle`). Конфиг `/opt/act_runner/config.yaml` (labels `self-hosted:host`,`f7-android:host`,
`container.docker_host: "-"`). systemd-сервис `act_runner.service` (enabled, Restart=always,
env JAVA_HOME/ANDROID_HOME/PATH+node). Регистрация — repo-scope (только f7cloud_mobile).
```bash
# на машине раннера (инфра B):
act_runner register --instance https://git.f7cloud.ru --token <TOKEN> --labels f7-android
act_runner daemon
systemctl status act_runner # состояние
journalctl -u act_runner -f # логи
```
Метка `f7-android` соответствует `runs-on: [self-hosted, f7-android]` в workflow.
## Secrets репозитория (Gitea → Settings → Actions → Secrets)
@@ -43,5 +50,7 @@ scripts/package-source.sh dist/ # → dist/f7cloud-mobile-v<ver>-<rev>-sourc
## Статус
Workflow и скрипт готовы и в репо. **Не активны, пока не зарегистрирован раннер** (инфра-шаг ячейки B,
нужен Gitea-админ для токена). До активации: сборки — вручную на билд-машине, исходники — скриптом.
**Активно (2026-07-09):** self-hosted раннер `f7-b-android` зарегистрирован и запущен на инфре B
(scope — репозиторий, host-исполнение). Workflow срабатывает на push/PR (lint+тесты+assembleDebug).
Осталось для джобы `release` по тегу: завести Secrets репозитория (keystore base64 + пароли) —
пока release-сборки делаются вручную на билд-машине тем же ключом.