53 lines
1.9 KiB
PowerShell
53 lines
1.9 KiB
PowerShell
# 部署脚本 - 将构建好的文件上传到服务器
|
|
# 使用方法: .\deploy.ps1
|
|
|
|
param(
|
|
[string]$ServerIP = "47.111.10.27",
|
|
[string]$Username = "root",
|
|
[string]$RemotePath = "/data/www/emotion-museum"
|
|
)
|
|
|
|
Write-Host "开始部署前端应用到服务器..." -ForegroundColor Green
|
|
|
|
# 检查dist目录是否存在
|
|
if (-not (Test-Path "dist")) {
|
|
Write-Host "错误: dist目录不存在,请先运行 npm run build" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
# 检查是否安装了scp命令(需要安装OpenSSH客户端)
|
|
try {
|
|
scp 2>&1 | Out-Null
|
|
} catch {
|
|
Write-Host "错误: 未找到scp命令,请安装OpenSSH客户端" -ForegroundColor Red
|
|
Write-Host "可以通过以下方式安装:" -ForegroundColor Yellow
|
|
Write-Host "1. Windows 10/11: 设置 -> 应用 -> 可选功能 -> 添加功能 -> OpenSSH客户端" -ForegroundColor Yellow
|
|
Write-Host "2. 或者使用 WinSCP 等工具手动上传" -ForegroundColor Yellow
|
|
exit 1
|
|
}
|
|
|
|
Write-Host "正在上传文件到服务器 $ServerIP..." -ForegroundColor Yellow
|
|
|
|
# 上传所有文件到服务器
|
|
try {
|
|
# 上传index.html
|
|
scp "dist/index.html" "${Username}@${ServerIP}:${RemotePath}/"
|
|
|
|
# 上传assets目录
|
|
scp -r "dist/assets" "${Username}@${ServerIP}:${RemotePath}/"
|
|
|
|
# 上传测试文件
|
|
scp "dist/test-*.html" "${Username}@${ServerIP}:${RemotePath}/"
|
|
|
|
Write-Host "部署完成!" -ForegroundColor Green
|
|
Write-Host "访问地址: http://$ServerIP/emotion-museum/" -ForegroundColor Cyan
|
|
|
|
} catch {
|
|
Write-Host "部署失败: $($_.Exception.Message)" -ForegroundColor Red
|
|
Write-Host "请检查:" -ForegroundColor Yellow
|
|
Write-Host "1. 服务器IP地址是否正确" -ForegroundColor Yellow
|
|
Write-Host "2. SSH密钥是否配置正确" -ForegroundColor Yellow
|
|
Write-Host "3. 服务器目录权限是否正确" -ForegroundColor Yellow
|
|
exit 1
|
|
}
|