Files
devops/fdroid-publish/README.md
T

47 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# fdroid-publish — публикация APK в F-Droid
Подписывает APK (v1+v2, keystore из переменных Gitea) и публикует в F-Droid репозиторий, затем пересобирает индекс (`fdroid update`).
## Использование
В workflow проекта (по образцу `build-docker` / `helm-publish`):
```yaml
- name: Build APK
uses: https://git.binom.pw/subochev/devops/build-gradle@main
with:
target: assembleRelease
- name: Publish to F-Droid
uses: https://git.binom.pw/subochev/devops/fdroid-publish@main
with:
apk_path: "app/build/outputs/apk/release/app-release-unsigned.apk"
```
## Переменные (user-level, Gitea → Settings → Actions → Variables)
| Переменная | Назначение |
|---|---|
| `ANDROID_KEYSTORE_B64` | keystore подписи приложений в base64 |
| `ANDROID_KEYSTORE_PASSWORD` | пароль keystore |
| `ANDROID_KEY_ALIAS` | алиас ключа (binom) |
| `ANDROID_KEY_PASSWORD` | пароль ключа |
| `FROID_HOST` | F-Droid LXC (192.168.76.165) |
| `FROID_SSH_USER` | root |
| `FROID_SSH_KEY` | приватный SSH-ключ CI (ed25519) |
## Что происходит
1. Setup Java 21
2. Декодирует keystore, подписывает APK через uber-apk-signer (v1+v2)
3. `scp` подписанного APK в `/opt/fdroid/repo/` на F-Droid LXC
4. `ssh "cd /opt/fdroid && fdroid update"` — пересборка индекса
После этого F-Droid-клиенты на устройствах подтянут обновление автоматически.
## Инфраструктура (см. скилл `fdroid-repo`)
- LXC 192.168.76.165: fdroidserver 2.4.2, репозиторий `/opt/fdroid/repo` (единый источник; nginx монтирует его в контейнер)
- URL репозитория: `https://fdroid.binom.pw/repo/`
- keystore подписи приложений: `/opt/fdroid/android-release.keystore` (alias binom)