.net core——打造自己的 dotnet new 微服務解決方案模板
阿新 • • 發佈:2018-12-07
目錄
1. 建立新的微服務
我司的微服務是基於一套基礎類庫構建而來,新建裡一個微服務,需要引用框架解決方案以及構造自己的automapper類,以及初始化類,錯誤程式碼類等,微服務解決方案按照既定約定進行命名,構造整體過程並不繁瑣,所以一直沒有生成響應的模板。
最近有時間研究下dotnet new模板的構成,發現極其簡單,因此,按照教程構建一個包,記錄如下。
2.準備環境
- .NET Core 2.0 SDK 或更高版本。
- 現有的微服務專案解決方案
- nuget.exe
3.以現有的微服務專案為模板
- step1: 使用已確認可以編譯和執行的現有專案,把該專案放在Content資料夾下,並在Content資料夾下建立資料夾目錄 .template.config。
- step 2:在 .template.config 資料夾中,建立 template.json 檔案來配置模板。
{
"$schema": "http://json.schemastore.org/template",
"author" : "webmote",
"classifications": [ "microService", "Console","quantum","webmote" ],
"identity": "Quantum.MicroService",
"name": "微服務Application",
"shortName": "qms",
"tags": {
"language": "C#" // Specify that this template is in C#.
},
"sourceName": "Appointment", //需要替換的資料夾名稱
"preferNameDirectory":"true"
}
4.分發模板
Content資料夾同目錄下增加 nuspec 檔案,並配置如下:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>Qms.MicroService</id>
<version>1.0.0</version>
<description>
微服務模板
</description>
<authors>webmote</authors>
<packageTypes>
<packageType name="Template" />
</packageTypes>
</metadata>
</package>
5.nuget pack打包
nuget pack ***\***.nuspec
6.本地安裝
dotnet new -i ***\***1.0.0.nupkg
7.使用新模板
dotnet new qms -n Test
8.完整程式碼參看github
在此我向大家推薦一個微服務架構學習交流群。交流學習群號:864759589 裡面會分享一些資深架構師錄製的視訊錄影:高併發、高效能、分散式、微服務架構的原理,分散式架構等這些成為架構師必備的知識體系。