35 lines
1.3 KiB
PowerShell
35 lines
1.3 KiB
PowerShell
param()
|
|
|
|
$server = "45.249.208.118"
|
|
$user = "root"
|
|
$password = "lxvhNYFZ4160"
|
|
$projectPath = "/root/youyidian-3d"
|
|
$plinkPath = "C:\Program Files\PuTTY\plink.exe"
|
|
|
|
if (-not (Test-Path $plinkPath)) {
|
|
Write-Error "未找到 plink.exe: $plinkPath"
|
|
exit 1
|
|
}
|
|
|
|
$commands = @(
|
|
"cd $projectPath && docker compose down --timeout 30 || true",
|
|
"cd $projectPath && docker-compose down --timeout 30 || true",
|
|
"cd $projectPath && docker compose up -d --build app || docker-compose up -d --build app",
|
|
"sleep 20",
|
|
"cd $projectPath && docker compose exec -T app npx prisma@5.22.0 db push --accept-data-loss --skip-generate --schema=/app/prisma/schema.prisma || docker-compose exec -T app npx prisma@5.22.0 db push --accept-data-loss --skip-generate --schema=/app/prisma/schema.prisma",
|
|
"cd $projectPath && docker compose ps app || docker-compose ps app",
|
|
"cd $projectPath && docker compose logs app --tail=50 || docker-compose logs app --tail=50"
|
|
)
|
|
|
|
foreach ($cmd in $commands) {
|
|
Write-Host "执行远程命令: $cmd" -ForegroundColor Yellow
|
|
& $plinkPath -ssh -pw $password -batch "$user@$server" $cmd
|
|
$exit = $LASTEXITCODE
|
|
if ($exit -ne 0) {
|
|
Write-Host " ⚠ 返回码: $exit" -ForegroundColor Yellow
|
|
} else {
|
|
Write-Host " ✓ 完成" -ForegroundColor Green
|
|
}
|
|
Write-Host "" -ForegroundColor DarkGray
|
|
}
|