本文使用的是ABPvNext商業版 最新穩定版本7.0.2為演示基礎的,後續如果更新,會單獨寫一篇最新版本的,此文為零基礎入門教學,後續相關程式碼會同步更新到gitee倉庫中。
1.登入ABPvNext官網 網址 http://abp.io
2.跳轉到商業版的說明檔案,目前商業版沒有中文,只能使用谷歌瀏覽器的內建翻譯功能了
3.框架的相關環境要求,請自自行檢視
4.安裝ABP CLI工具,安裝方式是使用dotnet命令列工具,作為.NET開發者,這個本機一定是有的了
//安裝或者更新構建工具,如果想與我這篇文章一樣,請指定安裝版本號
dotnet tool install -g Volo.Abp.Cli
//登入ABP官網賬號,既然使用商業版,肯定是已經有相關賬號了
abp login <username>
//安裝 ABP 套件(主要功能是後續建立解決方案以及程式碼生成工具等)
abp suite install
1.通過ABP提供的商業套件 新建一個專案,本次使用圖形化方式建立
//執行完成後會拉起一個控制檯,和網頁,不要關閉控制檯
abp suite
2.在開啟的頁面中,點選 Create a New solution(建立一個新的解決方案)
3.建立使用微服務模板建立,所以選擇Microservice template
4.分別輸入專案名稱(Project Name) 輸出目錄(Output folder)以及UI模式(MVC),點選確定,開始 建立專案
5專案生成完成後,開啟相關目錄,可以看到工具給生成的ABPvNext微服務專案
6.接下來,我們將run-tye.ps1檔案開啟,需要修改一下其中的一些設定(更改前)
<# Check development certificates #>
<# 原生的證書,由於專案分層,之間呼叫都是使用https方式,所以本地偵錯必須有證書 #>
if (! ( Test-Path ".\etc\dev-cert\localhost.pfx" -PathType Leaf ) ){
Write-Information "Creating dev certificates..."
cd ".\etc\dev-cert"
.\create-certificate.ps1
cd ../..
}
<# 這個是官方提供的執行環境,這個建議大家單獨安裝,否則開發機器會很卡,所以直接刪除掉 #>
$requiredServices = @(
'sql-server-db',
'grafana',
'prometheus',
'kibana',
'rabbitmq',
'elasticsearch',
'redis'
)
foreach ($requiredService in $requiredServices) {
$nameParam = -join("name=", $requiredService)
$serviceRunningStatus = docker ps --filter $nameParam
$isDockerImageUp = $serviceRunningStatus -split " " -contains $requiredService
if( $isDockerImageUp )
{
Write-Host ($requiredService + " [up]")
}
else
{
cd "./etc/docker/"
docker network create abpmicservie-network
docker-compose -f docker-compose.infrastructure.yml -f docker-compose.infrastructure.override.yml up -d
cd ../..
break;
}
}
<# 這個後面會手動執行,所以也刪除掉 #>
cd "./shared/ABPMicServie.DbMigrator"
dotnet run
cd ../..
<# Run all services #>
tye run --watch
我們將檔案重新命名為 執行.ps1,內容如下
<# Check development certificates #>
if (! ( Test-Path ".\etc\dev-cert\localhost.pfx" -PathType Leaf ) ){
Write-Information "Creating dev certificates..."
cd ".\etc\dev-cert"
.\create-certificate.ps1
cd ../..
}
<# Run all services #>
tye run --watch
7.先不要執行專案,在專案的根目錄開啟PowerShell,執行dotnet build命令,整體還原專案包
8.開啟專案,更改 shared/ABPMicServie.DbMigrator 專案的資料庫連結字串
9.在資料庫中分別建立四個資料,然後更改專案中連結字串的IP,使用者名稱等
10.在ABPMicServie.DbMigrator專案右鍵→偵錯→啟動新範例,執行遷移專案,如果連結字串設定的沒問題,執行成功後,資料庫中相應表就應該已經生成完成,可以檢視一下資料庫,看看相應的表是否已經建立完成
11.接下來就是更改各個專案的連結字串 ,根據原有連結修改:
12.接下來要修改各個專案的中介軟體設定,包括 RabbitMQ,Redis,ElasticSearch等,由於修改基本涵蓋了,apps,gateways,services三個目錄下的所有專案,就不一一列舉了
13.安裝tye,也是直接只用dotnet的控制檯工具
dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
14.安裝完成後,直接在專案目錄的執行.ps1檔案單擊右鍵→使用powershell執行,出現下面視窗
15.在瀏覽器中開啟 localhost:8000,出現tye管理介面,具體每個服務的埠,紀錄檔都可以檢視
16.存取web專案對應的埠,我這次對應的埠為 https://localhost:44321/ ,看到這個介面說明web服務已正常執行,接下來我們點選登入,進入登入介面
17.微服務模式的登陸使用的統一認證方式,所以在登入介面實際是呼叫了ABPMicServie.AuthServer相關的服務,預設的管理使用者名稱:admin 密碼:1q2w3E* 這個密碼是在遷移檔案中設定的
18.登入成功,看到如下頁面,就說明ABPvNext的微服務架構已順利執行成功,撒花