Files
itca_api_sap_wms/publicar.ps1
T

24 lines
1.3 KiB
PowerShell

# Genera el publish para IIS y lo comprime como dist\ITCA_API_SAP_WMS_v<version>.zip
# La versión sale de <AssemblyVersion> en Net.Business.Services.csproj.
# El zip NO incluye appsettings.json ni appsettings.Development.json (no pisar los del servidor).
# Requiere Windows (el driver Sap.Data.Hana se referencia desde C:\Program Files\sap\hdbclient).
$ErrorActionPreference = 'Stop'
Set-Location $PSScriptRoot
$csproj = 'Net.Business.Services\Net.Business.Services.csproj'
$version = ([xml](Get-Content $csproj)).Project.PropertyGroup.AssemblyVersion | Where-Object { $_ } | Select-Object -First 1
if (-not $version) { throw "No se encontró AssemblyVersion en $csproj" }
# Semver: el nombre lleva 3 numeros (2.1.15.0 -> 2.1.15); el cuarto del csproj siempre es 0
$version = ($version -replace '\.0$', '')
$out = "dist\ITCA_API_SAP_WMS_v$version"
$zip = "dist\ITCA_API_SAP_WMS_v$version.zip"
Remove-Item $out, $zip -Recurse -Force -ErrorAction SilentlyContinue
dotnet publish $csproj -c Release -r win-x64 --self-contained false -o $out
if ($LASTEXITCODE -ne 0) { throw 'dotnet publish falló' }
Remove-Item "$out\appsettings.json", "$out\appsettings.Development.json" -ErrorAction SilentlyContinue
Compress-Archive -Path "$out\*" -DestinationPath $zip
Write-Host "Generado: $zip"