本发明涉及文档管理领域,尤其涉及一种基于git的企业级文档中心实现方法。
背景技术:
随着项目参与人数的增多,技术文档的重要性愈加突出,对可维护性、实时性、安全性的要求也越来越高。并且,大部分技术文档属于非公开文件,需要有效的权限管控。一个统一的文档中心成了技术文档信息流的关键节点。
技术实现要素:
针对现有技术存在的不足之处,本发明的目的在于提供一种基于git的企业级文档中心实现方法,该方法基于git的安全性和易控性,借助于markdown易维护性,将技术文档的维护与使用解耦再增加权限管理,实现了高效的企业级文档中心;文档维护人员在git仓库更新文档后,通过webhook自动触发文档中心的更新操作,然后文档中心从git仓库获取最新的markdown格式的文档内容,将其转化为html格式后加载到文档中心展示页面。
本发明的目的通过下述技术方案实现:
一种基于git的企业级文档中心实现方法,包括文档中心,其方法步骤如下:
s101、在文档中心创建文档工程,并配置文档信息,所述文档中心内部具有该文档工程的git仓库;创建文档工程所需的具体信息包括:文档工程名、文档工程git地址、文档工程git分支、文档工程ssh公私钥及所对应密码,所述文档工程ssh公私钥包括文档工程ssh公钥和文档工程ssh私钥;具体包括如下四个步骤:
d101、生成ssh密匙对;
d102、在文档中心创建文档工程,并配置文档信息的文档名、文档介绍;
d103、配置文档信息的文档工程git地址、文档工程git分支、文档工程ssh密匙对及其密码;
d104、将生成的文档工程ssh公钥设置为该文档源码的git仓库的deploykey;
d105、从文档中心获取该文档工程的webhook地址,配置到git仓库,选择push操作为触发事件;
s102、ssh校验:文档中心将该文档信息配置的文档工程ssh私钥及密码与指定的git仓库的deploykey做校验,具体包括如下d201、d202两个步骤;
d201、将文档工程ssh私钥与git仓库的deploykey做校验;
d202、当步骤d201通过后,将对文档工程ssh私钥所对应的密码做校验;
s103、当步骤s101、s102均成功后,文档中心执行gitclone操作,从该git仓库获取markdown格式的文档源码;
s104、文档处理:文档中心对得到的文档源码进行处理,具体包括如下d401、d402两个步骤;
d401、将文档源码中markdown格式的文档转换为html格式;
d402、将步骤d401中html格式的文档写入数据库以便于文档中心后续显示,文档中心后续显示的文档从数据库直接读取。
本发明在步骤s104之后还包括如下s105步骤:
s105、授权:文档中心的master对需要查看该文档的用户做授权,具体包括如下d501、d502两个步骤:
d501、将需要授权的用户的账号加入授权用户表;
d502、选择该授权级别。
作为优选,本发明步骤d502中的授权级别包括访问者权限、开发者权限、所有者权限、管理员权限和超级管理员权限;其中访问者权限的权限为只能查看文档;开发者权限的权限为能查看、能修改文档信息;其中所有者权限为文档工程创建者,所有者权限的权限为能查看、修改、删除文档信息;其中管理员权限的权限为拥有除修改管理员之外的所有权限;其中超级管理员权限的权限为最高权限,包括修改管理员在内的所有权限。
本发明较现有技术相比,具有以下优点及有益效果:
本发明基于git的安全性和易控性,借助于markdown易维护性,将技术文档的维护与使用解耦再增加权限管理,实现了高效的企业级文档中心;文档维护人员在git仓库更新文档后,通过webhook自动触发文档中心的更新操作,然后文档中心从git仓库获取最新的markdown格式的文档内容,将其转化为html格式后加载到文档中心展示页面。
附图说明
图1为本发明实现方法的流程示意图;
图2为本发明实现方法的原理示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明:
实施例一
如图1、图2所示,一种基于git的企业级文档中心实现方法,包括文档中心,其方法步骤如下:
s101、在文档中心创建文档工程,并配置文档信息,所述文档中心内部具有该文档工程的git仓库;创建文档工程所需的具体信息包括:文档工程名、文档工程git地址、文档工程git分支、文档工程ssh公私钥及所对应密码,所述文档工程ssh公私钥包括文档工程ssh公钥和文档工程ssh私钥;具体包括如下四个步骤:
d101、生成ssh密匙对;
d102、在文档中心创建文档工程,并配置文档信息的文档名、文档介绍;
d103、配置文档信息的文档工程git地址、文档工程git分支、文档工程ssh密匙对及其密码;
d104、将生成的文档工程ssh公钥设置为该文档源码的git仓库的deploykey;
d105、从文档中心获取该文档工程的webhook地址,配置到git仓库,选择push操作为触发事件;
s102、ssh校验:文档中心将该文档信息配置的文档工程ssh私钥及密码与指定的git仓库的deploykey做校验,具体包括如下d201、d202两个步骤;
d201、将文档工程ssh私钥与git仓库的deploykey做校验;
d202、当步骤d201通过后,将对文档工程ssh私钥所对应的密码做校验;
s103、当步骤s101、s102均成功后,文档中心执行gitclone操作,从该git仓库获取markdown格式的文档源码;
s104、文档处理:文档中心对得到的文档源码进行处理,具体包括如下d401、d402两个步骤;
d401、将文档源码中markdown格式的文档转换为html格式;
d402、将步骤d401中html格式的文档写入数据库以便于文档中心后续显示,文档中心后续显示的文档从数据库直接读取。自此,文档信息流成功从git仓库流动到文档中心,完成一次文档同步操作。
本发明在步骤s104之后还包括如下s105步骤:
s105、授权:文档中心的master对需要查看该文档的用户做授权,具体包括如下d501、d502两个步骤:
d501、将需要授权的用户的账号加入授权用户表;
d502、选择该授权级别。
本发明步骤d502中的授权级别包括访问者权限、开发者权限、所有者权限、管理员权限和超级管理员权限;其中访问者权限的权限为只能查看文档;开发者权限的权限为能查看、能修改文档信息;其中所有者权限为文档工程创建者,所有者权限的权限为能查看、修改、删除文档信息;其中管理员权限的权限为拥有除修改管理员之外的所有权限;其中超级管理员权限的权限为最高权限,包括修改管理员在内的所有权限。授权后的用户就可以在所授权级别查看该文档。
实施例二
如图1、图2所示,一种基于git的企业级文档中心实现方法,包括文档中心,其方法步骤如下:
步骤一、在文档中心创建文档工程,配置文档信息。
创建文档工程所需的具体信息包括:文档工程名、文档工程git地址及git分支、ssh公私钥及对应密码。
成功创建文档工程后,文档中心生成webhook地址,用于触发文档同步。将该webhook地址配置到git仓库,设置为push事件触发。然后,再将ssh公钥配置到git仓库的deploykey。
自此,完成前期的准备和配置。
步骤二、做ssh校验
文档中心将该文档项目配置的ssh私钥及密码与指定的git仓库的deploykey做校验;若校验失败,则说明该请求不可靠。
该步骤成功,进入步骤三。
创建完成或调用webhook,会触发该步骤。
步骤三、获取文档源码
文档中心根据git地址,执行clone操作,从git仓库获取markdown格式的文档源码。
假如步骤一中指定了git分支,则获取该分支的文档源码,否则默认获取master分支的文档。
步骤四、将markdown格式的文档转换为html格式
解析markdown格式的文档源码,转换为html格式,写入数据库。
自此,文档信息流成功从git仓库流动到文档中心,完成一次文档同步操作。
步骤五、授权
授权分为开发者授权和查看授权。开发者授权的用户可以修改、查看该文档工程,查看授权的用户,只能查看。授权由文档项目的master执行。将需要授权的用户的账号加入授权用户表,验证用户有效后,完成对该用户的授权。
授权后的用户,就可以在所授权级别查看该文档。
权限分级如下:
(1)、默认普通权限:未设定权限
(2)、访问者权限:其权限为只能查看;
(3)、开发者权限:其权限为能查看、能修改文档信息介绍;
(4)、所有者权限为文档工程创建者,其权限为能查看、修改、删除;
(5)、管理员权限:其权限为拥有除修改管理员之外的所有权限;
(6)、超级管理员权限:其权限为最高权限,包括修改管理员在内的所有权限。
实施例三
如图1、图2所示,一种基于git的企业级文档中心实现方法,包括文档中心,其方法步骤如下:
步骤一、在文档中心配置文档信息,包括:文档工程名、文档工程git地址、git分支、ssh公私钥及对应密码,在文档中心创建文档工程;同时,需要在git仓库配置deploykey(即ssh公钥),以及webhook地址(文档中心成功创建文档项目后生成);自此,完成前期的配置与准备。
步骤二、创建完成后或调用webhook后,文档中心将该文档项目配置的ssh私钥及密码与指定的git仓库的deploykey(即ssh公钥)做校验
步骤三、文档中心根据git地址、git分支,从git仓库拉取markdown格式的文档源码。
步骤四、将markdown格式的文档转换为html格式,并写入数据库。自此完成一次文档同步操作。
步骤五、文档项目的master将需要授权的用户的账号加入授权用户表。验证用户有效后,完成对该用户的授权。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。