fix: publish-apk.ps1 PowerShell 5.1 Kompatibilitaet
- En-Dash durch Hyphen ersetzt (UTF-8 Encoding-Problem) - SSH-Befehle: && durch ; ersetzt (PS 5.1 kennt kein &&) - 2>/dev/null aus PS-Parsing entfernt (String-Konkatenation) - SSH-Array-Rueckgabe korrekt behandeln (letztes Element)
This commit is contained in:
parent
5434c00f20
commit
bba4ac0086
1 changed files with 14 additions and 9 deletions
23
.github/skills/publish/publish-apk.ps1
vendored
23
.github/skills/publish/publish-apk.ps1
vendored
|
|
@ -28,7 +28,7 @@ $RemoteDir = "/opt/krisenvorrat"
|
|||
Write-Host "=== Publish APK v$VersionName (build $VersionCode) ===" -ForegroundColor Cyan
|
||||
|
||||
if (-not (Test-Path $ApkPath)) {
|
||||
Write-Error "APK nicht gefunden: $ApkPath – bitte zuerst './gradlew assembleDebug' ausfuehren."
|
||||
Write-Error "APK nicht gefunden: $ApkPath - bitte zuerst './gradlew assembleDebug' ausfuehren."
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
|
@ -50,23 +50,28 @@ Write-Host "[OK] APK hochgeladen" -ForegroundColor Green
|
|||
# --- Schritt 2: Version in docker-compose.yml aktualisieren ---
|
||||
Write-Host "`n[2/4] Version in docker-compose.yml aktualisieren..." -ForegroundColor Yellow
|
||||
|
||||
# Prüfen ob Env-Vars bereits vorhanden sind
|
||||
$hasVersionCode = ssh $VPS "grep -c 'KRISENVORRAT_APP_VERSION_CODE' $RemoteDir/docker-compose.yml 2>/dev/null || echo 0"
|
||||
$hasVersionCode = [int]$hasVersionCode.Trim()
|
||||
# Prüfen ob Env-Vars bereits vorhanden sind (bash-Syntax in einfachen Anführungszeichen)
|
||||
$checkCmd = 'grep -c "KRISENVORRAT_APP_VERSION_CODE" ' + $RemoteDir + '/docker-compose.yml 2>/dev/null || echo 0'
|
||||
$checkResult = ssh $VPS $checkCmd
|
||||
# SSH kann Array zurückgeben (z.B. Banner + Ergebnis) - letzte Zeile nehmen
|
||||
if ($checkResult -is [array]) { $checkResult = $checkResult[-1] }
|
||||
$hasVersionCode = [int]($checkResult.Trim())
|
||||
|
||||
if ($hasVersionCode -gt 0) {
|
||||
# Update bestehende Einträge
|
||||
ssh $VPS "cd $RemoteDir && sed -i 's/KRISENVORRAT_APP_VERSION_CODE=.*/KRISENVORRAT_APP_VERSION_CODE=$VersionCode/' docker-compose.yml && sed -i 's/KRISENVORRAT_APP_VERSION_NAME=.*/KRISENVORRAT_APP_VERSION_NAME=$VersionName/' docker-compose.yml"
|
||||
$sedCmd = "cd $RemoteDir; sed -i 's/KRISENVORRAT_APP_VERSION_CODE=.*/KRISENVORRAT_APP_VERSION_CODE=$VersionCode/' docker-compose.yml; sed -i 's/KRISENVORRAT_APP_VERSION_NAME=.*/KRISENVORRAT_APP_VERSION_NAME=$VersionName/' docker-compose.yml"
|
||||
ssh $VPS $sedCmd
|
||||
} else {
|
||||
# Erstmalig hinzufügen (nach JWT_SECRET-Zeile)
|
||||
ssh $VPS "cd $RemoteDir && sed -i '/KRISENVORRAT_JWT_SECRET/a\ - KRISENVORRAT_APP_VERSION_CODE=$VersionCode\n - KRISENVORRAT_APP_VERSION_NAME=$VersionName' docker-compose.yml"
|
||||
$addCmd = "cd $RemoteDir; sed -i '/KRISENVORRAT_JWT_SECRET/a\ - KRISENVORRAT_APP_VERSION_CODE=$VersionCode' docker-compose.yml; sed -i '/KRISENVORRAT_APP_VERSION_CODE/a\ - KRISENVORRAT_APP_VERSION_NAME=$VersionName' docker-compose.yml"
|
||||
ssh $VPS $addCmd
|
||||
}
|
||||
if ($LASTEXITCODE -ne 0) { Write-Error "Version-Update fehlgeschlagen."; exit 1 }
|
||||
Write-Host "[OK] Version gesetzt: $VersionName (build $VersionCode)" -ForegroundColor Green
|
||||
|
||||
# --- Schritt 3: Server neustarten ---
|
||||
Write-Host "`n[3/4] Server-Container neustarten..." -ForegroundColor Yellow
|
||||
ssh $VPS "cd $RemoteDir && docker compose up -d"
|
||||
ssh $VPS "cd $RemoteDir; docker compose up -d"
|
||||
if ($LASTEXITCODE -ne 0) { Write-Error "Container-Neustart fehlgeschlagen."; exit 1 }
|
||||
Write-Host "[OK] Container neu gestartet" -ForegroundColor Green
|
||||
|
||||
|
|
@ -83,9 +88,9 @@ if ($SkipVerify) {
|
|||
|
||||
if ($versionJson.versionCode -eq $VersionCode -and $versionJson.versionName -eq $VersionName) {
|
||||
Write-Host "[OK] Server meldet Version $($versionJson.versionName) (build $($versionJson.versionCode))" -ForegroundColor Green
|
||||
Write-Host " APK-URL: $($versionJson.apkUrl)" -ForegroundColor DarkGray
|
||||
Write-Host (" APK-URL: " + $versionJson.apkUrl) -ForegroundColor DarkGray
|
||||
} else {
|
||||
Write-Warning "Server meldet unerwartete Version: $($versionJson | ConvertTo-Json -Compress)"
|
||||
Write-Warning ("Server meldet unerwartete Version: " + ($versionJson | ConvertTo-Json -Compress))
|
||||
}
|
||||
} catch {
|
||||
Write-Warning "Verifizierung fehlgeschlagen: $_"
|
||||
|
|
|
|||
Loading…
Reference in a new issue