这是基于vue-vben-admin 模板适用于abp Vnext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

58 lines
1.6 KiB

. "../build/build-aspnetcore-common.ps1"
Write-host "开始部署容器."
$rootFolder = (Get-Item -Path "../" -Verbose).FullName
$deployPath = $rootFolder + "/deploy";
$buildPath = $rootFolder + "/build";
$aspnetcorePath = $rootFolder + "/aspnet-core";
$vuePath = $rootFolder + "/apps/vue";
Write-host "root: " + $rootFolder
## 部署中间件
Write-host "deploy middleware..."
Set-Location $rootFolder
docker-compose -f .\docker-compose.middleware.yml up -d --build
## 等待30秒, 数据库初始化完成
Write-host "initial database..."
Start-Sleep -Seconds 30
## 创建数据库
Write-host "create database..."
Set-Location $aspnetcorePath
cmd.exe /c create-database.bat
## 执行数据库迁移
Write-host "migrate database..."
Set-Location $buildPath
foreach ($solution in $migrationArray) {
Set-Location $solution.Path
dotnet run
}
## 发布程序包
Write-host "release .net project..."
Set-Location $buildPath
foreach ($solution in $serviceArray) {
$publishPath = $rootFolder + "/aspnet-core/services/Publish/" + $solution.Service + "/"
dotnet publish -c Release -o $publishPath $solution.Path --no-cache
$dockerFile = Join-Path $solution.Path "Dockerfile"
if ((Test-Path $dockerFile)) {
Copy-Item $dockerFile -Destination $publishPath
}
}
## 构建前端项目
Write-host "build front project..."
Set-Location $vuePath
pnpm install
pnpm build
## 运行应用程序
Write-host "running application..."
Set-Location $rootFolder
docker-compose -f .\docker-compose.yml -f .\docker-compose.override.yml -f .\docker-compose.override.configuration.yml up -d --build
Set-Location $deployPath
Write-host "application is running..."