# Deploy: build and push dist/ to XServer via git # - Git delta compression: only changes are transferred (fast) # - *.yasutakeyohei.com folders are protected by .gitignore # Prerequisite: `ssh xserver` works (configured in ~/.ssh/config) # Usage: .\deploy.ps1 param( [string]$Remote = "xserver:/home/wais/yasutakeyohei.com/repo.git" ) $ErrorActionPreference = "Stop" Write-Host "=== Build ===" -ForegroundColor Cyan npm run build if ($LASTEXITCODE -ne 0) { throw "Build failed." } Write-Host "" Write-Host "=== Deploy ===" -ForegroundColor Cyan Write-Host "Target: $Remote" $deployDir = ".deploy" # 前回の .deploy を削除 if (Test-Path $deployDir) { Remove-Item -Recurse -Force $deployDir } # dist/ をコピー Copy-Item -Recurse dist $deployDir # git 操作 Push-Location $deployDir try { git init git add -A git commit -m "deploy" --allow-empty --quiet git push -f $Remote main } finally { Pop-Location } Write-Host "Done." -ForegroundColor Green