deploy.ps1 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # UTF-8 Encoding Setup
  2. [Console]::OutputEncoding = [Text.UTF8Encoding]::new()
  3. chcp 65001 > $null
  4. # ===== Settings =====
  5. $KEY = ".\1.key"
  6. $USER = "ubuntu"
  7. $REMOTE_HOST = "129.154.58.6"
  8. $REMOTE_DIR = "/var/www/bandosj.com/public_html"
  9. $ARCHIVE_NAME = "dist.tar.gz"
  10. # ===== Compress =====
  11. Write-Host "📦 Compressing dist directory..."
  12. tar -czf $ARCHIVE_NAME -C dist .
  13. # ===== Transfer file =====
  14. Write-Host "🚀 Uploading archive file..."
  15. # Use braces to avoid variable parsing errors in PowerShell
  16. scp -i $KEY $ARCHIVE_NAME "${USER}@${REMOTE_HOST}:/tmp/${ARCHIVE_NAME}"
  17. if ($LASTEXITCODE -ne 0) {
  18. Write-Error "❌ File transfer failed"
  19. exit 1
  20. }
  21. # ===== Extract and deploy on remote server =====
  22. Write-Host "🔧 Deploying on remote server..."
  23. ssh -i $KEY "$USER@$REMOTE_HOST" @"
  24. sudo mkdir -p '$REMOTE_DIR'
  25. sudo rm -rf '$REMOTE_DIR/*'
  26. sudo tar -xzf /tmp/$ARCHIVE_NAME -C '$REMOTE_DIR'
  27. sudo rm /tmp/$ARCHIVE_NAME
  28. "@
  29. # ===== Clean up local =====
  30. Remove-Item $ARCHIVE_NAME
  31. # ===== Done =====
  32. Write-Host "✅ Deployment complete! Check your site at http://bandosj.com"