[发明专利]一种基于git的代码发布系统有效
申请号: | 201811275390.8 | 申请日: | 2018-10-30 |
公开(公告)号: | CN109522025B | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 全郑静;吴建明 | 申请(专利权)人: | 深圳市小赢信息技术有限责任公司 |
主分类号: | G06F8/60 | 分类号: | G06F8/60;G06F8/71 |
代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 杨军 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 git 代码 发布 系统 | ||
1.一种基于git的代码发布系统,其特征是,包括git仓库、工单信息数据库、目标机器集群、配置管理后台、部署操作平台五大模块;
git仓库:存储所有项目的源代码;创建一个新项目时需要先在gitlab上创建一个新的git仓库,并且上传对应的源代码文件到仓库中;
工单信息数据库:存储所有项目的配置信息和各个项目下的所有工单信息;
目标机器集群:是一批docker和物理机器的集合,作为目标机器为部署操作平台分配给新工单所使用;
配置管理后台:配置管理后台主要负责新项目接入发布系统的一系列配置信息的管理;
部署操作平台调用git仓库、工单信息数据库、目标机器集群来完成工单整个生命周期各个环节的功能;具体过程如下:
首先部署操作平台读取工单信息数据库中的配置表,展示所有已配置的项目,开发人员在一个项目下创建一个发布工单,部署操作平台通过调用gitlab的创建分支的api接口在仓库上创建一个新的feature分支,同时从目标机器集群空闲的机器中随机获取一台机器分配给该发布工单使用,并把对应的机器ip写入到工单数据库中;
接着开发人员在点击部署功能时,部署操作平台通过python的paramiko模块向目标机器发出部署指令,目标机器接到部署指令后,立即执行部署命令通过http协议从git远程仓库拉取对应仓库对应分支的代码到本机的项目目录中,完成部署操作;
最后,工单验收成功之后,部署操作平台调用gitlab打tag的api接口完成打tag操作,同时接口返回tag id给部署操作平台,最终部署操作平台将tag id写入到工单数据库的对应工单记录里。
2.根据权利要求1所述的一种基于git的代码发布系统,其特征是,所述工单信息数据库使用了mysql数据库,工单信息包括工单状态、提单人、测试人员、管理员、工单对应的分支名、所依赖的common仓库、创建时间、发布完成的tag标记、部署结果日志,供部署操作平台和配置管理后台使用。
3.根据权利要求1所述的一种基于git的代码发布系统,其特征是,所述目标机器集群包括:测试docker、预发布机器、生产环境机器;其中测试docker由部署操作平台统一随机分配给所创建的工单,并且随着工单的结束而回收复用。
4.根据权利要求1所述的一种基于git的代码发布系统,其特征是,所述配置管理后台信息的管理,包括仓库url地址、部署命令、项目依赖和权限分配;配置管理后台通过调用gitlab的api接口识别到新项目仓库,匹配项目成功后保存配置信息,系统将该项目相关配置信息写入到工单信息数据库中的配置表里面。
5.根据权利要求1所述的一种基于git的代码发布系统,其特征是,所述git仓库为M个项目仓库加N个common仓库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市小赢信息技术有限责任公司,未经深圳市小赢信息技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811275390.8/1.html,转载请声明来源钻瓜专利网。