Skip to main content

V0.2.0-第一个不向后兼容的版本

· 4 min read
usual2970
programmer

Certimate 作为作者工作中提升工作效率的工具,很好的符合了我个人的工作场景。但是在开源后,遇到了五花八门的需求,这些需求对应的场景有些是我不曾考虑到的。 这就导致在满足各种需求的同时,很难做到完全向后兼容,所以就出现了第一个不向后兼容的版本:v0.2.0.

v0.2.0 的主要特性如下:

  • 域名编辑分为申请配置和部署配置 2 个阶段,申请配置支持更多选项。
  • 一个域名配置可以添加 0 或多个部署。
  • 授权和部署阶段需要的字段拆分,授权只维护授权信息。

域名编辑分为申请配置和部署配置 2 个阶段

老版本域名编辑分为基础设置和高级设置,其实让人觉得很奇怪,到底什么是基础设置,什么是高级设置? v0.2.0 根据阶段的不同,将域名编辑分为了 2 个阶段,分别是申请配置和部署配置。 申请配置只配置和申请相关的信息,如域名、邮箱、申请授权等。

部署配置主要是配置和部署相关的信息,如证书路径、部署命令、部署授权等。

域名编辑

一个域名配置可以添加 0 或多个部署

有的用户只是想把 certimate 作为申请证书的工具并不想部署证书,有的用户又想把一个证书部署到多个服务上,比如泛域名。

之前一个域名配置只能添加 1 个部署,且必须有 1 个部署,所以老版本并不能满足上述场景。

v0.2.0 支持一个域名配置添加 0 或多个部署,这样就可以满足上述场景了,而且老版本的授权组也不需要了。

域名编辑

授权和部署阶段需要的字段拆分,授权只维护授权信息

老版本中有点部署阶段需要的字段是和授权信息混杂在一起的,比如 ssh授权,老版本中除了需要填写host、port、username、password等信息外,还需要填写部署命令、证书路径等信息。 这种设计本身是不合理的,首先理论上来说部署命令和证书路径等信息就不属于授权信息,另外也导致授权信息不能复用,即使 2 张证书要部署到同一个服务器,也需要填写2次授权信息。

v0.2.0 将授权和部署阶段需要的字段拆分,授权只维护授权信息,部署阶段需要的字段在域名配置的部署配置中填写,这样老版本中域名变量也不需要了。

总结

综上所述,v0.2.0 是一个不向后兼容的版本,但是它的主要特性是为了满足更多的用户需求以及方便后续扩展。 老版本的用户可以继续使用老版本,也可以选择升级到 v0.2.0,但是要重新配置一遍。