前几篇分别介绍了abp vNext微服务框架和微服务CI/CD环境搭建,本篇开始介绍vNext微服务框架的开发环境搭建。
环境准备
官方介绍的系统架构图如下:
上图中身份服务和网关服务已经集成在系统中,我们需要搭建的是MS Sql、mongoDB、redis、RabbitMQ、elasticsearch。其中MS Sql、RabbiMQ、elasticsearch建议直接安装,redis、mongoDB建议docker安装。安装教程如下:
Ubuntu18.04 安装RabbiMQ:
https://my.oschina.net/u/2364788/blog/2875902
elasticsearch使用的Java环境,十分消耗系统资源,开发过程中建议不要安装,安装教程暂时忽略。
docker安装redis、mongoDB:
https://blog.csdn.net/myNameIssls/article/details/80520465
https://www.jianshu.com/p/2181b2e27021
SQL server版本越高越好。
获取abp vNext代码
通过GitHub官方拉取最新发布代码:https://github.com/abpframework/abp
解压后项目结构如下:
构建本地开发环境
项目根目录cmd进入framework执行:
dotnet restore
dotnet build
构建完成后退出进入modules目录对每个模块分别执行:
dotnet restore
dotnet build
最后构建微服务,进入samples\MicroserviceDemo目录执行:
dotnet restore
dotnet build
如果所有模块都构建成功,下一步打开MicroserviceDemo解决方案开始配置微服务
配置微服务
配置AuthServer
打开applications目录下AuthServer.Host\appsettings.json
修改ConnectionStrings、Redis、RabbitMQ配置,示例如下:
配置BackendAdminAppGateway、InternalGateway
分别修改BackendAdminAppGateway.Host和InternalGateway.Host配置文件中的数据库连接和redis连接。
配置IdentityService、ProductService
分别修改IdentityService.Host和ProductService.Host配置文件中的数据库连接、redis连接和RabbiMQ配置。
其他服务也参考以上进行修改。
使用EF CORE还原数据库
右键AuthServer.Host设置为启动项目,如下:
打开程序包管理控制台,使用ef core 迁移命令:
迁移成功后对IdentityService.Host和ProductService.Host做同样操作:
到此本地开发环境已经搭建完成,下面开始启动项目:
设置启动顺序如下,不要调试:
abp vNext提供了MVC的简单后台管理界面和门户网站界面分别是http://localhost:51954、http://localhost:53435,忙活了这么久,赶紧打开尝试一下吧。。。
总结
直接从源码构建比较麻烦而且容易构建失败,嫌麻烦的话可以直接将MicroserviceDemo中的工程引用改为nuget引用,abp已经同步更新nuget包。改为nuget包后代码构建将十分简单,大家可以根据喜好尝试一下。