|
# COMMON PATHS
|
|
|
|
$buildFolder = (Get-Item -Path "./" -Verbose).FullName
|
|
$slnFolder = Join-Path $buildFolder "../"
|
|
$outputFolder = Join-Path $buildFolder "outputs"
|
|
$webHostFolder = Join-Path $slnFolder "src/MeetingSchedule.Web.Host"
|
|
$ngFolder = Join-Path $buildFolder "../../angular"
|
|
|
|
## CLEAR ######################################################################
|
|
|
|
Remove-Item $outputFolder -Force -Recurse -ErrorAction Ignore
|
|
New-Item -Path $outputFolder -ItemType Directory
|
|
|
|
## RESTORE NUGET PACKAGES #####################################################
|
|
|
|
Set-Location $slnFolder
|
|
dotnet restore
|
|
|
|
## PUBLISH WEB HOST PROJECT ###################################################
|
|
|
|
Set-Location $webHostFolder
|
|
dotnet publish --output (Join-Path $outputFolder "Host")
|
|
|
|
## PUBLISH ANGULAR UI PROJECT #################################################
|
|
|
|
Set-Location $ngFolder
|
|
& yarn
|
|
& ng build --prod
|
|
Copy-Item (Join-Path $ngFolder "dist") (Join-Path $outputFolder "ng") -Recurse
|
|
Copy-Item (Join-Path $ngFolder "Dockerfile") (Join-Path $outputFolder "ng")
|
|
|
|
# Change UI configuration
|
|
$ngConfigPath = Join-Path $outputFolder "ng/assets/appconfig.json"
|
|
(Get-Content $ngConfigPath) -replace "44311", "9901" | Set-Content $ngConfigPath
|
|
(Get-Content $ngConfigPath) -replace "4200", "9902" | Set-Content $ngConfigPath
|
|
|
|
## CREATE DOCKER IMAGES #######################################################
|
|
|
|
# Host
|
|
Set-Location (Join-Path $outputFolder "Host")
|
|
|
|
docker rmi abp/host -f
|
|
docker build -t abp/host .
|
|
|
|
# Angular UI
|
|
Set-Location (Join-Path $outputFolder "ng")
|
|
|
|
docker rmi abp/ng -f
|
|
docker build -t abp/ng .
|
|
|
|
## DOCKER COMPOSE FILES #######################################################
|
|
|
|
Copy-Item (Join-Path $slnFolder "docker/ng/*.*") $outputFolder
|
|
|
|
## FINALIZE ###################################################################
|
|
|
|
Set-Location $outputFolder
|