项目管理:项目的创建和维护,默认提供了.netcore的api和控制台,java的api和前端站点的应用初始化代码框架,开发人员开发新的应用直接根据应用类型选择对应的模板就可以在git默认创建代码仓库和初始化框架代码,并自动生成应用的http和https的域名
构建记录:获取gitlab的pipeline,展示所有分支的构建记录信息,可以一键跳转到git仓库
部署管理:部署构建的镜像到指定的环境,提供实时部署和定时部署功能
容器管理:提供容器的查看功能,可以看到容器的存活状态和容器实时日志
配置字段权限申请:针对PRE和生产环境查看配置,需要先走钉钉审批申请流程
配置信息:进行配置的维护,包括新增、编辑、删除,PRE和生产环境操作需要钉钉流程审批
操作日志:针对应用的操作日志记录
用户设置:在使用rdms前,需要先将用户git仓库的token设置在rdms上,这样用户在rdms操作与gitlab相关的业务才能正常使用
3.2.2 RDMS几个核心页面的展示首页-创建应用
构建记录
部署管理
容器管理
对接系统的说明
通行证:RDMS的目标用户是研发中心人员,这些人员在通行证中都有默认的账户信息,与通行证打通,可以直接登录使用
GitlabAPI:目前RDMS的CI还是采用的gitlab的ci支撑,包括新应用在rdms的创建到git仓库的代码初始化等,都需要调用gitlab的api接口
钉钉flow:安全管控的原因,PRE和生产的任何操作都会触发钉钉审批流,所属项目的项目经理审批通过后才会获取到数据或者执行操作指令
福禄开放平台:提供了网关相关的功能和菜单、角色等维护功能,公司所有后端服务都需要入驻开放平台
蜂巢:公司的调度作业平台,rdms的定时部署功能依赖该服务的支撑
运维工单系统:rdms的CD流程没有直接与kubernets进行交互,而是通过运维的工单系统包装了运维底层的shell脚本层,然后提供给rdms相关的api接口,也是基于安全控制的考虑
shell脚本层:shell脚本层会调用kubernetes的api进行kubernetes的相关操作(部署、配置更新、容器重启、日志查看等);调用阿里云的dns解析接口,对应用的域名自动解析;调用oss的接口,进行前端站点文件目录的维护
3.4 后端应用的devops实现详解举个栗子进行介绍
根据模板,创建一个应用
根据名称默认生成域名
初始化代码仓库,默认生成develop分支
在rdms第一次部署到对应环境(开发、测试、生产等)时,会默认读取appsettings.Development.json的文件,并写入kubernets的configmap
构建完成,进行部署
在kubernets生成pod
通过域名访问接口文档
同样的,举个栗子介绍
首页-创建前端站点
根据名称生成域名