从这个月初,利用短暂的晚上时光断断续续的把这个博客系统升级到了 .NET Core 3.0,今晚发布第一个正式版本

该版本主要是做一些 framework 上面的升级工作,以及整合之前多个 repository 而带来的发布流程上面的 break changes。

博客系统首页

升级到 .NET Core 3.0

这个版本的 code 是从最初 .NET Core 2.2 版本移植过来的,参照官方文档的说明,升级过程几乎没有遇到什么问题,唯一的一个 issue 也是很容易就解决了。

今天早上,微软在 .NET Conf 2019 上面发布了 .NET Core 的正式版本(GA)。由于之前准备的一直是紧跟最新版本的 .NET Core 3.0 preview,所以早上只花了不到一个小时的时间就从完成了升级以及部署的各种繁琐工作,期间没有遇到任何代码改动的场景。

.NET Core 3.0 带来了很多新的特性,这个博客系统用到的 ASP.NET Core 也充分的利用了这些新的 feature,从 performance 到生产力都带来了巨大的提升。

合并多个 repository

之前版本的博客系统用到了三个独立的 GitHub repostiory。那样做的原因在于,.NET Core Global Tools 代码只能依赖于 nuget 包,所以公共的 library 必须也得发布成独立的 nuget 包,导致最终的结果就变成了:两个独立的 nuget 包 + 一个 ASP.NET Core 站点:

  • common: 这作为一个 shared library,抽离出一些公共的 service 和 model。
  • jarvis: 这是一个 .NET Core Global Tool,可以安装在 windows/osx/ubuntu 上面,主要是作为管理文章和资源的小工具。比如,发布新的文章,上传新的图片等等。
  • blog: 这是博客系统的源代码。

管理 asset 方式的改变

老的版本下面,文章以及其他的一些资源最终都是存在 Microsoft Azure Storage Blob 中,不仅带来费用上的开销,也导致了手动更新的不便(必须借助于 jarvis 或者 Azure Storage Explorer)。最大的问题在于,他没有版本控制的功能,无法回退或者查看历史记录。

GitHub 一直是一个完美的选项,他可以轻松解决这些弊端。本次更新把所有的资源都放在了 GitHub 上面,所有的新建或者更新的操作都是有本地发起,然后 push 到 GitHub 上面,再由 GitHub webhooks 来触发系统的刷新。整个过程逻辑非常简单。

接下来的更新...

这个版本由于只是对后台逻辑上面的大改动,所以前端页面并没有做太大的变化。而且,由于 coding 的仓促,导致很多地方并没有设计充分。

接下来的大版本更新,将会着重解决这些已知的问题:前端的优化,代码的重构以及新 feature 的开发。

所有的 code 以及工作进度都将依赖于 GitHub 来进行,尽量使得流程标准化。

(本文完)