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 里面会分享一些资深架构师录制的视频录像:高并发、高性能、分布式、微服务架构的原理,分布式架构等这些成为架构师必备的知识体系。