Files
IKAR/tool/deploy_ikar.ps1
T

12 lines
1.2 KiB
PowerShell

$ErrorActionPreference = 'Stop'
Set-Location C:\Repos\IKAR
$python = 'C:\Users\Андрей\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe'
& $python -c "from pathlib import Path; import tarfile; root=Path('ikar_server'); t=tarfile.open('artifacts/ikar_server-20261006.tar.gz','w:gz'); [t.add(root/p,arcname=p) for p in ['publish','Dockerfile.release','docker-entrypoint.sh','compose.yaml','backup.py','configure_pi.py','asr']]; t.close()"
if ($LASTEXITCODE -ne 0) { throw 'Release archive failed' }
& ssh -o BatchMode=yes Pi 'mountpoint -q /mnt/data && mkdir -p /mnt/data/ikar_server/releases/20261006'
if ($LASTEXITCODE -ne 0) { throw 'External disk unavailable' }
& scp artifacts/ikar_server-20261006.tar.gz Pi:/mnt/data/ikar_server/releases/20261006/release.tar.gz
if ($LASTEXITCODE -ne 0) { throw 'Release upload failed' }
& ssh -o BatchMode=yes Pi 'cd /mnt/data/ikar_server/releases/20261006 && tar -xzf release.tar.gz && docker build -f Dockerfile.release -t ikar_server:20261006 . > /mnt/data/ikar_server/build-final.log 2>&1 && sudo -n python3 configure_pi.py'
if ($LASTEXITCODE -ne 0) { throw 'IKAR deployment failed; inspect own build log' }