48 lines
1.6 KiB
PowerShell
48 lines
1.6 KiB
PowerShell
# ============================================================
|
||
# 🌀 FilterCair Server – Deploy Script
|
||
# ------------------------------------------------------------
|
||
# Builds the project for Linux, zips it, and deploys to Azure
|
||
# ------------------------------------------------------------
|
||
# Marc Wieland - 2025-11-04
|
||
# ============================================================
|
||
|
||
# Stop on first error
|
||
$ErrorActionPreference = "Stop"
|
||
|
||
# Variables
|
||
$projectPath = "C:\DEVQPDC\FilterCairStack\FilterCair.Server"
|
||
$publishFolder = "$projectPath\bin\Release\net9.0\linux-x64\publish"
|
||
$zipFile = "$projectPath\publish.zip"
|
||
$resourceGroup = "FilterCair-RG"
|
||
$appName = "filtercair-api"
|
||
|
||
Write-Host "Starting deploy for $appName..." -ForegroundColor Cyan
|
||
|
||
# 1️⃣ Build the project
|
||
Write-Host "Publishing project for Linux (Release mode)..."
|
||
dotnet publish $projectPath -c Release -r linux-x64 --self-contained false
|
||
|
||
# 2️⃣ Create ZIP
|
||
if (Test-Path $zipFile) {
|
||
Remove-Item $zipFile -Force
|
||
}
|
||
Write-Host "Compressing published output..."
|
||
Compress-Archive -Path "$publishFolder\*" -DestinationPath $zipFile -Force
|
||
|
||
# 3️⃣ Deploy to Azure
|
||
Write-Host "Deploying to Azure WebApp ($appName)..."
|
||
az webapp deploy `
|
||
--resource-group $resourceGroup `
|
||
--name $appName `
|
||
--src-path $zipFile `
|
||
--type zip
|
||
|
||
if ($LASTEXITCODE -eq 0) {
|
||
Write-Host "Deployment successful! Opening site..." -ForegroundColor Green
|
||
Start-Process "https://$appName.azurewebsites.net/swagger"
|
||
} else {
|
||
Write-Host "Deployment failed. Check Azure Portal logs for details." -ForegroundColor Red
|
||
}
|
||
|
||
Write-Host "Done!"
|