mirror of
https://github.com/mivodev/mivo.git
synced 2026-01-26 05:25:42 +07:00
54 lines
1.7 KiB
PowerShell
54 lines
1.7 KiB
PowerShell
$ErrorActionPreference = "Stop"
|
|
|
|
# Configuration
|
|
$RemotePath = "/www/wwwroot/app.mivo.dyzulk.com"
|
|
|
|
Write-Host "Starting Deployment to app.mivo.dyzulk.com..." -ForegroundColor Green
|
|
|
|
# 1. Build Assets
|
|
Write-Host "Building assets..." -ForegroundColor Cyan
|
|
cmd /c "npm run build"
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Error "Build failed!"
|
|
}
|
|
|
|
# 2. Create Archive
|
|
Write-Host "Creating deployment package..." -ForegroundColor Cyan
|
|
# Excluding potential garbage
|
|
$excludeParams = @("--exclude", "node_modules", "--exclude", ".git", "--exclude", ".github", "--exclude", "temp_debug", "--exclude", "deploy.ps1", "--exclude", "*.tar.gz")
|
|
tar -czf deploy_package.tar.gz @excludeParams app public routes mivo src package.json
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Error "Failed to create archive!"
|
|
}
|
|
|
|
# 3. Upload
|
|
Write-Host "Uploading to server ($RemotePath)..." -ForegroundColor Cyan
|
|
scp deploy_package.tar.gz "aapanel:$RemotePath/"
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Error "SCP upload failed!"
|
|
}
|
|
|
|
# 4. Extract and Cleanup on Server
|
|
Write-Host "Extracting and configuring permissions..." -ForegroundColor Cyan
|
|
# Commands:
|
|
# 1. cd to remote path
|
|
# 2. Extract
|
|
# 3. Set ownership to www:www
|
|
# 4. Set mivo executable
|
|
# 5. Set public folder to 755 (Laravel recommendation)
|
|
# 6. Cleanup archive
|
|
$remoteCommands = "cd $RemotePath && tar -xzf deploy_package.tar.gz && chown -R www:www . && chmod +x mivo && chmod -R 755 public && rm deploy_package.tar.gz"
|
|
|
|
ssh aapanel $remoteCommands
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Error "Remote deployment failed!"
|
|
}
|
|
|
|
# 5. Local Cleanup
|
|
Write-Host "Cleaning up local package..." -ForegroundColor Cyan
|
|
if (Test-Path deploy_package.tar.gz) {
|
|
Remove-Item deploy_package.tar.gz
|
|
}
|
|
|
|
Write-Host "Deployment successfully completed!" -ForegroundColor Green
|