本发明涉及运维技术,尤其涉及一种基于git的任务管理方法。
背景技术:
随着经济的快速发展,云服务在生活中的应用越来越广泛,而运维工作在保障云服务器安全、稳定运行中发挥着不可替代的作用。在日常工作中每位运维人员都积累了大量的的运行脚本。由于在工作中需要经常到服务器端执行脚本,完成相应任务,然而面对数量庞大,任务多样,格式各异,且分散在不同运维人员手中的脚本文件,难以进行统一管理,而且在执行脚本文件时,参数配置容易出错。因此,设计开发一套任务管理系统,对脚本文件进行归纳整理,能有效监督脚本文件、参数配置的正确性,可以大大减少脚本文件的执行错误率,有效保障云服务器的稳定运行。
运维任务是通过执行脚本文件实现的,在实际运维过程中,每位运维人员都有很多各式各样的脚本文件。而在实际运维工作中,存在如下缺点:
(1)直接在服务器中执行脚本文件,脚本文件、参数配置的正确性没有保障;
(2)多人可能编写相同的脚本文件,工作效率低下;
(3)脚本文件存在个人手中,容易丢失;
(4)需要手动查看、保存脚本执行后的日志文件,增加工作量。
技术实现要素:
为了解决以上技术问题,本发明提出了一种基于git的任务管理方法,由于git是一个开源的分布式版本控制系统,可以有效、高速地管理项目版本。所以本文基于git来管理任务多样,格式各异的脚本文件。
本发明的技术方案是:
一种基于git的任务管理方法,主要包括
(1)由git仓库统一保存、管理脚本文件;
(2)创建任务、执行操作类任务脚本时,都需要经过管理人员审核,保证任务执行的正确性。
进一步的,
具体步骤如下:
(1)在任务管理过程中,将脚本文件保存到git仓库中,进行统一管理;
(2)基于git的任务管理方法具体步骤操作:
步骤一:创建任务,填写任务信息,将脚本文件推送至git仓库,等待审核;
步骤二:管理人员对任务信息、脚本文件进行审核;
步骤三:配置任务的路由、ip等参数,
如果任务类型为更新,迁移、删除等操作类任务,则需要经过管理人员审批后才能执行;
如果为查询类任务,则可以直接执行;
步骤四:由jenkins到git仓库拉取脚本文件,根据配置信息,将脚本文件推送到相应服务器执行脚本文件;
步骤五:监督任务执行情况,并实时返回执行日志;
步骤六:执行结束后,返回执行结果。
进一步的,
所述创建任务,即在任务管理系统中新建任务,填写任务信息,并将脚本文件推送到git仓库中,此时任务处于待审核状态。
进一步的,
审核创建任务:对脚本文件进行审核:
(1)通过,任务状态改为待执行;
(2)不通过,任务返回至创建/编辑任务节点,根据修改意见,修改脚本文件,重新提交审核。
进一步的,
执行任务:首先需要配置路由、ip信息,然后判断该任务是否是操作类任务。
再进一步的,
判断该任务是否是操作类任务:
(1)是,需要管理人员审核配置信息是否正确;
正确,则通过调用jenkins,去git仓库中拉取相应脚本文件,执行任务;
不正确,返回至配置信息节点,修改配置信息,然后重新提交审核;
(2)查询类任务,可直接执行脚本文件;
进一步的,
由jenkins监督脚本文件的执行过程,实时将日志推送给运维人员。
本发明的有益效果是
本发明是基于git的任务管理方法,由git统一管理脚本文件,降低了运维人员管理、维护脚本文件的工作量,并实现了脚本文件的共享,提高了运维工作的效率。
附图说明
图1是本发明的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一种基于git的任务管理方法,主要包括:
(3)由git仓库统一保存、管理脚本文件;
(4)创建任务、执行操作类任务脚本时,都需要经过管理人员审核,保证任务执行的正确性。
本发明是基于git的任务管理方法,其任务管理工作流程图如附图1所示,主要包括以下步骤:
1、创建任务:运维人员在任务管理系统中新建任务,填写任务信息,并将脚本文件推送到git仓库中,此时任务处于待审核状态;
2、审核创建任务:管理人员对脚本文件进行审核:
(1)通过,任务状态改为待执行;
(2)不通过,任务返回至创建/编辑任务节点,由运维人员根据修改意见,修改脚本文件,重新提交审核;
3、执行任务:首先需要运维人员配置路由、ip等信息,然后判断该任务是否是操作类(更新、删除、修改等)任务:
(1)是,需要管理人员审核配置信息是否正确;正确,则通过调用jenkins,去git仓库中拉取相应脚本文件,执行任务;不正确,返回至配置信息节点,由运维人员修改配置信息,然后重新提交审核;
(2)查询类任务,可直接执行脚本文件;
4、由jenkins根据配置信息,将从git拉取的脚本文件推送到相应服务器,执行脚本文件;
5、由jenkins监督脚本文件的执行过程,实时将日志推送给运维人员;
6、脚本执行结束后,将执行结果返回给运维人员。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。