feat(ci): add docker-compose setup for Gitea act_runner and local build script
Build Android APK / Build Release APKs (push) Failing after 1m31s
Build Android APK / Build Release APKs (push) Failing after 1m31s
This commit is contained in:
@@ -44,3 +44,6 @@ app.*.map.json
|
||||
/android/app/release
|
||||
/android/app/build/
|
||||
.gradle/
|
||||
release-apks/
|
||||
gitea-runner/data/
|
||||
gitea-runner/.env
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
echo ========================================================
|
||||
echo Oggauer Gemeindetrommler - Android APK Builder
|
||||
echo ========================================================
|
||||
echo.
|
||||
|
||||
set FLUTTER=C:\src\flutter\bin\flutter.bat
|
||||
if not exist "%FLUTTER%" (
|
||||
set FLUTTER=flutter
|
||||
)
|
||||
|
||||
echo [1/4] Dependencies laden...
|
||||
call %FLUTTER% pub get
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo [FEHLER] 'flutter pub get' fehlgeschlagen.
|
||||
pause
|
||||
exit /b %ERRORLEVEL%
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [2/4] Universelle Release APK bauen...
|
||||
call %FLUTTER% build apk --release
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo [FEHLER] 'flutter build apk --release' fehlgeschlagen.
|
||||
pause
|
||||
exit /b %ERRORLEVEL%
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [3/4] Split-per-ABI APKs bauen (fuer schlankere Downloads)...
|
||||
call %FLUTTER% build apk --release --split-per-abi
|
||||
|
||||
echo.
|
||||
echo [4/4] APKs organisieren...
|
||||
if not exist "release-apks" mkdir "release-apks"
|
||||
|
||||
if exist "build\app\outputs\flutter-apk\app-release.apk" (
|
||||
copy /Y "build\app\outputs\flutter-apk\app-release.apk" "release-apks\oggauer-gemeindetrommler-universal.apk" >nul
|
||||
)
|
||||
if exist "build\app\outputs\flutter-apk\app-arm64-v8a-release.apk" (
|
||||
copy /Y "build\app\outputs\flutter-apk\app-arm64-v8a-release.apk" "release-apks\oggauer-gemeindetrommler-arm64.apk" >nul
|
||||
)
|
||||
if exist "build\app\outputs\flutter-apk\app-armeabi-v7a-release.apk" (
|
||||
copy /Y "build\app\outputs\flutter-apk\app-armeabi-v7a-release.apk" "release-apks\oggauer-gemeindetrommler-armv7.apk" >nul
|
||||
)
|
||||
if exist "build\app\outputs\flutter-apk\app-x86_64-release.apk" (
|
||||
copy /Y "build\app\outputs\flutter-apk\app-x86_64-release.apk" "release-apks\oggauer-gemeindetrommler-x86_64.apk" >nul
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ========================================================
|
||||
echo ERFOLG! Alle APKs befinden sich im Ordner:
|
||||
echo %CD%\release-apks\
|
||||
echo ========================================================
|
||||
echo.
|
||||
explorer release-apks
|
||||
pause
|
||||
@@ -0,0 +1,9 @@
|
||||
# Gitea URL
|
||||
GITEA_INSTANCE_URL=https://git.djnizz.at
|
||||
|
||||
# Hier das Token einfügen aus Gitea:
|
||||
# Website-Verwaltung -> Aktionen -> Runner -> "Neuen Runner erstellen"
|
||||
GITEA_RUNNER_REGISTRATION_TOKEN=hier_dein_token_einfuegen
|
||||
|
||||
# Beliebiger Name für den Runner
|
||||
GITEA_RUNNER_NAME=oracle-arm-runner
|
||||
@@ -0,0 +1,25 @@
|
||||
# Gitea Act Runner (Oracle Cloud ARM64 / Docker)
|
||||
|
||||
Docker Compose Setup für den Gitea CI/CD Runner zum automatischen Bauen der Android-APKs.
|
||||
|
||||
## Schnellstart
|
||||
|
||||
1. **Token holen:**
|
||||
In Gitea unter **Website-Verwaltung** (oder Repo-Einstellungen) ➔ **Aktionen** ➔ **Runner** ➔ **Neuen Runner erstellen** das Registrierungs-Token kopieren.
|
||||
|
||||
2. **Konfiguration erstellen:**
|
||||
```bash
|
||||
cp .env.example .env
|
||||
nano .env
|
||||
```
|
||||
Dort das kopierte Token bei `GITEA_RUNNER_REGISTRATION_TOKEN` eintragen.
|
||||
|
||||
3. **Runner starten:**
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
4. **Logs ansehen:**
|
||||
```bash
|
||||
docker compose logs -f
|
||||
```
|
||||
@@ -0,0 +1,23 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
gitea-runner:
|
||||
image: gitea/act_runner:latest
|
||||
container_name: gitea-runner
|
||||
restart: always
|
||||
environment:
|
||||
# URL deiner Gitea-Instanz
|
||||
- GITEA_INSTANCE_URL=${GITEA_INSTANCE_URL:-https://git.djnizz.at}
|
||||
# Registrierungs-Token aus Gitea (Website-Verwaltung -> Aktionen -> Runner -> "Neuen Runner erstellen")
|
||||
- GITEA_RUNNER_REGISTRATION_TOKEN=${GITEA_RUNNER_REGISTRATION_TOKEN}
|
||||
# Name des Runners in Gitea
|
||||
- GITEA_RUNNER_NAME=${GITEA_RUNNER_NAME:-oracle-arm-runner}
|
||||
# TLS-Verifizierung überspringen (falls SSL abgelaufen/selbstsigniert ist)
|
||||
- GITEA_RUNNER_INSECURE=true
|
||||
# Maximale parallele Jobs
|
||||
- GITEA_RUNNER_CAPACITY=2
|
||||
volumes:
|
||||
# Docker-Socket des Host-Systems (nötig für Container-Builds wie Flutter)
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
# Persistenter Speicher: Registrierung bleibt nach Neustart erhalten
|
||||
- ./data:/data
|
||||
Reference in New Issue
Block a user