|
|
- $scriptPath = Split-Path $script:MyInvocation.MyCommand.Path
-
- Write-Host "Current script directory is $scriptPath" -ForegroundColor Yellow
-
- # *** WebMVC paths ***
- $webMVCPath = $scriptPath + "\src\Web\WebMVC"
- $webMVCPathToProject = $webMVCPath + "\WebMVC.csproj"
- Write-Host "webMVCPathToProject is $webMVCPathToProject" -ForegroundColor Yellow
- $webMVCPathToPub = $webMVCPath + "\obj\Docker\publish"
- Write-Host "webMVCPathToPub is $webMVCPathToPub" -ForegroundColor Yellow
-
-
- # *** WebSPA paths ***
- $webSPAPath = $scriptPath + "\src\Web\WebSPA\eShopOnContainers.WebSPA"
- $webSPAPathToProject = $webSPAPath + "\eShopOnContainers.WebSPA.csproj"
- Write-Host "webSPAPathToProject is $webSPAPathToProject" -ForegroundColor Yellow
- $webSPAPathToPub = $webSPAPath + "\obj\Docker\publish"
- Write-Host "webSPAPathToPub is $webSPAPathToPub" -ForegroundColor Yellow
-
-
- # *** IdentitySvc paths ***
- $identitySvcPath = $scriptPath + "\src\Services\Identity\Identity.API"
- $identitySvcToProject = $identitySvcPath + "\Identity.API.csproj"
- Write-Host "identitySvcToProject is $identitySvcToProject" -ForegroundColor Yellow
- $identitySvcPathToPub = $identitySvcPath + "\obj\Docker\publish"
- Write-Host "identitySvcPathToPub is $identitySvcPathToPub" -ForegroundColor Yellow
-
-
- # *** Catalog paths ***
- $catalogPath = $scriptPath + "\src\Services\Catalog\Catalog.API"
- $catalogPathToProject = $catalogPath + "\Catalog.API.csproj"
- Write-Host "catalogPathToProject is $catalogPathToProject" -ForegroundColor Yellow
- $catalogPathToPub = $catalogPath + "\obj\Docker\publish"
- Write-Host "catalogPathToPub is $catalogPathToPub" -ForegroundColor Yellow
-
-
- # *** Ordering paths ***
- $orderingPath = $scriptPath + "\src\Services\Ordering\Ordering.API"
- $orderingPathToProject = $orderingPath + "\Ordering.API.csproj"
- Write-Host "orderingPathToProject is $orderingPathToProject" -ForegroundColor Yellow
- $orderingPathToPub = $orderingPath + "\obj\Docker\publish"
- Write-Host "orderingPathToPub is $orderingPathToPub" -ForegroundColor Yellow
-
- # *** Basket paths ***
- $basketPath = $scriptPath + "\src\Services\Basket\Basket.API"
- $basketPathToProject = $basketPath + "\Basket.API.csproj"
- Write-Host "basketPathToProject is $basketPathToProject" -ForegroundColor Yellow
- $basketPathToPub = $basketPath + "\obj\Docker\publish"
- Write-Host "basketPathToPub is $basketPathToPub" -ForegroundColor Yellow
-
-
- ########################################################################################
- # Delete old eShop dotnet publish bits
- ########################################################################################
- # Write-Host "Deleting previous dotnet publish bits from all projects" -ForegroundColor Blue
-
- remove-item -path $WebMVCPathToPub -Force -Recurse -ErrorAction SilentlyContinue
- remove-item -path $webSPAPathToPub -Force -Recurse -ErrorAction SilentlyContinue
- remove-item -path $identitySvcPathToPub -Force -Recurse -ErrorAction SilentlyContinue
- remove-item -path $catalogPathToPub -Force -Recurse -ErrorAction SilentlyContinue
- remove-item -path $orderingPathToPub -Force -Recurse -ErrorAction SilentlyContinue
- remove-item -path $basketPathToPub -Force -Recurse -ErrorAction SilentlyContinue
-
-
-
- ########################################################################################
- # Building DotNet bits
- ########################################################################################
-
- # WebMVC: Build dotnet bits
- Write-Host "WebMVC: Restore Dependencies, dotnet build and dotnet publish" -ForegroundColor Blue
- dotnet restore $WebMVCPathToProject
- dotnet build $WebMVCPathToProject
- dotnet publish $WebMVCPathToProject -o $WebMVCPathToPub
-
-
- # WebSPA: Build dotnet bits
- Write-Host "WebSPA: Installing npm dependencies"
- #TEMP COMMENT--- Start-Process -WorkingDirectory $webSPAPath -NoNewWindow -Wait npm i
-
- Write-Host "WebSPA: Restore Dependencies, dotnet build and dotnet publish" -ForegroundColor Blue
- dotnet restore $webSPAPathToProject
- dotnet build $webSPAPathToProject
- dotnet publish $webSPAPathToProject -o $webSPAPathToPub
-
-
- # Identity Service: Build dotnet bits
- Write-Host "Identity Service: Restore Dependencies, dotnet build and dotnet publish" -ForegroundColor Blue
- dotnet restore $identitySvcToProject
- dotnet build $identitySvcToProject
- dotnet publish $identitySvcToProject -o $identitySvcPathToPub
-
-
- # Catalog Service: Build dotnet bits
- Write-Host "Catalog Service: Restore Dependencies, dotnet build and dotnet publish" -ForegroundColor Blue
- dotnet restore $catalogPathToProject
- dotnet build $catalogPathToProject
- dotnet publish $catalogPathToProject -o $catalogPathToPub
-
-
- # Ordering Service: Build dotnet bits
- Write-Host "Ordering Service: Restore Dependencies, dotnet build and dotnet publish" -ForegroundColor Blue
- dotnet restore $orderingPathToProject
- dotnet build $orderingPathToProject
- dotnet publish $orderingPathToProject -o $orderingPathToPub
-
-
- # Basket Service: Build dotnet bits
- Write-Host "Basket Service: Restore Dependencies, dotnet build and dotnet publish" -ForegroundColor Blue
- dotnet restore $basketPathToProject
- dotnet build $basketPathToProject
- dotnet publish $basketPathToProject -o $basketPathToPub
-
-
-
- ########################################################################################
- # Delete old eShop Docker images
- ########################################################################################
-
- $imagesToDelete = docker images --filter=reference="eshop/*" -q
-
- If (-Not $imagesToDelete) {Write-Host "Not deleting eShop images as there are no eShop images in the current local Docker repo."}
- Else
- {
- # Delete all containers
- Write-Host "Deleting all containers in local Docker Host"
- docker rm $(docker ps -a -q) -f
-
- # Delete all eshop images
- Write-Host "Deleting eShop images in local Docker repo"
- Write-Host $imagesToDelete
- docker rmi $(docker images --filter=reference="eshop/*" -q) -f
- }
-
-
- ########################################################################################
- # Build new eShop images
- ########################################################################################
-
- # WE DON'T NEED DOCKER BUILD AS WE CAN RUN "DOCKER-COMPOSE BUILD" OR "DOCKER-COMPOSE UP" AND IT WILL BUILD ALL THE IMAGES IN THE .YML FOR US
-
- #*** build docker images ***
- # docker build -t eshop/web $webPathToPub
- # docker build -t eshop/catalog.api $catalogPathToPub
- # docker build -t eshop/ordering.api $orderingApiPathToPub
- # docker build -t eshop/basket.api $basketPathToPub
- # docker build -t eshop/webspa $webSPAPathToPub
- # docker build -t eshop/identity $identitySvcPathToPub
|