大家都知道,软件交付过程中的最后一个环节就是将软件方便快捷地交付到用户手中,最好能够在不进行干预的情况下,凭借人性化的提示功能,引导用户一步一步完成在自己环境中的部署。当然为了优化这个过程,相信广大的运维人员一直在努力。
但是,如果我要说,如果能够在研发生产环节就能考量后续的交付流程,是不是能够更加主动和高效呢?
接下来,我们就一起探索下如何在DM8达梦数据库的交付环节注入新的思路。说明一下,以下只是一种思路分享,为了更好地阐述思路,会用一些伪代码来进行辅助说明。
我们结合DM8达梦数据库的实际安装环节,准备从以下角度来启发思考:
dm.key
证书dm.ini
达梦数据库配置文件全局环境变量可以是多个,以下示例展示了DM_INIT_PATH
(即DM_HOME数据库安装目录)
在安装DM数据库的过程中,我们需要提供诸多信息给安装程序,如果能够借鉴DM静默安装的思路,提前将这些信息配置在文件中,统一进行管理,相比不停地询问,是否更加快速?
dm.key
证书检测证书是否存在,存在的话就直接引用。
其他文件也可参考这种思路。
在进行初始化安装之前进行数据库实例的检测是很有必要的。
基于dminit
的方式进行数据库的初始化
dm.ini
达梦数据库配置文件结合类似于golang template的模板技术进行相关变量的初始化赋值。当然,最终实现并不一定要使用golang,Python等很多编程语言都能够实现,只是在容器环境中,golang显得更亲切
些而已。
使用dmserver
启动数据库示例,这种方式更加通用。当然,为了更加方便的管理数据库服务,最好是将其注册到systemd
更加合适。
进行必要的进程检测是很有必要的:
有时候,进程虽然存在,但并不表示数据库服务就是正常的,因此要进行SQL执行的进一步验证。
经过上述步骤,容器化部署DM数据库的一整套完整流程就完成了,这各个步骤并不是孤立的,相互之间还可以设置强依赖或者弱依赖,以编排执行顺序。
以上只是一个初步思路,欢迎大家一起交流!
文章
阅读量
获赞