jenkins系统的自动备份方法、装置、设备及介质与流程

未命名 10-18 阅读:105 评论:0


1.本发明涉及系统自动化领域,尤其涉及一种jenkins系统的自动化备份方法、装置、设备及介质。


背景技术:

2.随着devops平台的不断普及,提供ci(continuous integration,持续集成)接入服务的平台面对的用户群体不断增多,jenkins系统的增值业务类型也不断丰富。目前市面上的大多数公司的核心项目已经陆续完成接入ci,对应的pipeline job(流水线任务)也由原来的十几条上升到数百条,通常情况下,全部的pipeline job周期性地备份在廉价存储介质上,当系统遇到灾难性故障时,可以从最近的一次备份中将pipeline job重新载入ci平台,并启动系统。
3.现有技术中,为避免丢失自上次备份之后的所有更新,通常要以很高的频率将piepline job备份到存储介质。
4.现有技术存在如下问题:由于目前公司对ci系统的业务需求频繁变更,传统的备份方法已经无法满足现状,导致备份工作的工作效率较低,造成了备份资源的浪费。


技术实现要素:

5.本发明提供了一种jenkins系统的自动化备份方法、装置、设备及介质,可以解决传统的备份方法导致的备份工作的工作效率较低以及备份资源的浪费的问题。
6.第一方面,本发明实施例提供了一种jenkins系统的自动化备份方法,该方法包括:
7.每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;
8.针对每个jenkins服务器地址,分别执行下述操作:
9.自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图;
10.根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图;
11.对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中。
12.第二方面,本发明实施例提供了一种jenkins系统的自动化备份装置,该装置包括:
13.服务器地址获取模块,用于每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;其中,所述筛选条件包括:服务器筛选条件以及视图筛选条件;
14.视图获取模块,用于自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图;
15.视图筛选模块,用于根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图;
16.自动备份模块,用于对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中。
17.第三方面,本发明实施例提供了一种电子设备,所述电子设备包括:
18.至少一个处理器;以及
19.与所述至少一个处理器通信连接的存储器;其中,
20.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的jenkins系统的自动化备份方法。
21.第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的jenkins系统的自动化备份方法。
22.本发明实施例的技术方案,通过每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件,之后针对每个jenkins服务器地址,分别执行下述操作:自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图,之后根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图,最后对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中,解决了备份工作的工作效率较低以及备份资源的浪费的问题,实现了jenkins系统的自动化备份,提高了备份工作的效率,节约了备份资源。
23.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
24.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1是根据本发明实施例一提供的一种jenkins系统的自动化备份方法的流程图;
26.图2a是根据本发明实施例二提供的一种jenkins系统的自动化备份方法的流程图;
27.图2b是根据本发明实施例二提供方法得到的一种具体实施场景的流程图;
28.图3是根据本发明实施例三提供的一种jenkins系统的自动化备份装置的结构示意图;
29.图4是实现本发明实施例的一种jenkins系统的自动化备份方法的电子设备的结构示意图。
具体实施方式
30.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
31.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
32.实施例一
33.图1为本发明实施例一提供的一种jenkins系统的自动化备份方法的流程图,本实施例可适用于对于jenkins系统中存储的数据进行自动备份情况,该方法可以由jenkins系统的自动化备份装置来执行,该jenkins系统的自动化备份装置可以采用硬件和/或软件的形式实现,该jenkins系统的自动化备份装置可配置于具有jenkins系统的自动化备份功能的终端或服务器中。
34.如图1所示,该方法包括:
35.s110、每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件。
36.其中,所述定时备份时间为人工预先设置的时刻点,当系统时间达到所述时刻点时,所述jenkins系统开始自动化备份工作的自启动;示例性的,所述定时备份时间可以为每日早上十点时,所述jenkins系统在每日早上十点时均会进行自动化备份操作;进一步的,所述jenkins系统为一个开源软件项目,是基于java开发的一种持续性集成工具,可以用于监控持续重复的工作,所述jenkins系统旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
37.其中,所述各jenkins服务器地址为当前的jenkins系统所包含的全部服务器的地址;进一步的,所述各jenkins服务器中包括jenkins系统的系统数据。
38.在本实施例中,所述筛选条件为根据当前jenkins服务器的数据文件的性质进行设置的,不需要进行备份的文件的筛选条件;示例性的,当前jenkins服务器的筛选条件可以为:全部视图或测试视图等;具体的,若所述筛选条件为全部视图,则说明当前服务器的全部视图均被筛选不被备份;若所述筛选条件为测试视图,则当前服务器用于测试的视图不被备份,而当前服务器中除测试视图之外的视图均被备份。
39.进一步的,所述各筛选条件是和时间一起设置好的存放在流水线配置上的,当到达预设时间时自动触发从jenkins平台上获取各预设的筛选条件以对数据文件进行筛选。
40.在本实施例中,在每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件之前,还包括:
41.建立jenkins流水线定时任务;其中,所述jenkins流水线定时任务中预先配置定时备份时间、至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;创建与所述jenkins流水线定时任务匹配的执行脚本;其中,通过在jenkins流水线定时任务循环触发所述执行脚本,执行针对每个jenkins服务器地址的更新任务的自动化备份操作。
42.在本实施例中,所述执行脚本可以用于执行针对每个jenkins服务器地址的更新任务的自动化备份操作。
43.s120、自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图。
44.其中,所示视图为当前jenkins服务器中所包含信息的数据格式;进一步的,所述视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据,但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成,即在本实施例中,一个视图单位可以作为一个完整的数据信息单位进行备份处理。
45.具体的,登录与当前jenkins服务器地址匹配的当前jenkins服务器,包括:在config.ini配置文件中,查询与所述当前jenkins服务器地址匹配的合法登录信息;根据所述合法登录信息,自动登录与当前jenkins服务器地址匹配的当前jenkins服务器。
46.在本实施例中,所述config.ini配置文件中包括:当前jenkins系统所包含的全部jenkins服务器的合法登录信息,其中,所述合法登录信息中包含当前jenkins服务器的名称和与当前jenkins服务器匹配的登录密码;进一步的,通过config.ini配置文件中包含的合法登录信息,可以对各jenkins服务器地址匹配的各jenkins服务器进行登录,保证了备份数据的数据安全。
47.s130、根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图。
48.其中,根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图,包括:获取与所述当前jenkins服务器对应的至少一个过滤视图;在全部视图中滤除掉全部过滤视图,得到至少一个备份视图。
49.示例性的,若当前jenkins服务器对应的筛选条件为测试视图,则根据所述筛选条件在全部视图中筛选得到的备份视图为:全部视图中除测试视图之外的剩余视图;进一步的,所述过滤视图为全部视图中包含的全部测试视图。
50.s140、对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中。
51.其中,所述gitlab仓库是一个用于仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的web服务。安装方法是参考gitlab仓库在gitlub上的有关页面。gitlab仓库是被广泛使用的基于git的开源代码管理平台,主要针对软件开发过程中产生的代码和文档进行管理,gitlab仓库主要针对群组和工程项目两个维度进行代码和文档管理,一个群组可以管理多个工程项目,每个工程项目中有多个分支,分支间相互独立,不同分支可以进行归并;进一步,所述仓储管理系统是一个实时的计算机软件系统,它能够按照运作的业务规则和运算法则,对信息、资源、行为、存货和分销运作进行更完美地管理,提高效率。
52.本发明实施例的技术方案,通过每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件,之后针对每个jenkins服务器地址,分别执行下述操作:自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图,之后根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图,最后对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中,实现了jenkins系统的自动化备份,提高了备份工作的效率,节约了备份资源。
53.实施例二
54.图2a为本发明实施例二提供的一种jenkins系统的自动化备份方法的流程图,本实施例以上述实施例为基础进行细化,在本实施例中具体是对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中的方法进行细化。
55.如图2a所示,该方法包括:
56.s210、每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件。
57.s220、自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图。
58.其中,所示视图为当前jenkins服务器中所包含信息的数据格式;进一步的,所述视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据,但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成,即在本实施例中,一个视图单位可以作为一个完整的数据信息单位进行备份处理。
59.s230、根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图。
60.s240、获取所述每个备份视图下的全部更新任务,并通过预设的格式工具将当前的各更新任务转化为预设格式的第一备份数据。
61.其中,所述预设格式为xml(extensible markup language,可拓展标记语言)格式,即所述第一备份数据为xml格式的各更新任务;进一步的,所述xml格式为标准通用标记语言的子集,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。xml格式是标准通用标记语言,具有可扩展性良好,内容与形式分离,遵循严格的语法要求,保值性良好等优点。
62.其中,所述预设的格式工具可以为:利用jenkins平台的openapi。
63.在本实施例中,所述标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,并提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是网络环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。
64.s250判断所述第一备份数据中是否包含所述目标脚本数据;
65.若是,则执行s260;
66.若否,则执行s270。
67.其中,所述目标脚本数据可以为所述第一备份数据中的script(脚本)部分;进一步的,所述script,是使用一种特定的描述性语言,依据一定的格式编写的可执行文件;进一步的,所述script(脚本)部分可以为从gitlab服务器自动下载的脚本程序。
68.s260、通过预设工具将所述第一备份数据与所述目标脚本数据进行打包,生成与当前更新任务匹配的预打包文件,执行s280。
69.具体的,在本实施例中,通过预设工具将所述第一备份数据与所述目标脚本数据进行打包,生成与当前更新任务匹配的预打包文件之后,还包括:
70.判断所述当前备份视图下的全部更新任务是否均存在匹配的预打包文件;若是,则将所述备份视图下的全部预打包文件自动化备份到gitlab仓库中;若否,则返回执行通过预设的格式工具将当前的各更新任务转化为预设格式的第一备份数据的操作,直至全部更新任务均存在匹配的预打包文件,并将所述备份视图下的全部预打包文件自动化备份到gitlab仓库中。
71.s270、根据当前的第一备份数据生成与更新任务的预打包文件,执行s280。
72.其中,所述预打包文件中可以包括:xml格式的第一备份数据以及与当前第一备份数据匹配的xml格式的目标脚本数据。
73.具体的,可以使用git工具作为预设工具将所述第一备份数据与所述目标脚本数据进行打包;进一步的,git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,可以用于识别本实施例上述步骤中的第一备份数据与所述目标脚本数据,并将匹配的第一备份数据与目标脚本数据进行打包。
74.在本实施例中,在所述第一备份数据中识别与当前的更新任务匹配的目标脚本数据之前,包括:判断所述第一备份数据中是否包含目标脚本数据;若是,则通过预设工具将所述第一备份数据与所述目标脚本数据进行打包,生成与当前更新任务匹配的预打包文件;若否,则根据当前的第一备份数据生成与更新任务的预打包文件。
75.在上述步骤的基础上,所述第一备份数据中在一定情况下可能存在不包含script部分的情况,在该种情况下,则将当前的第一备份数据利用git工具直接进行打包生成预打包文件,而不再提取目标脚本数据。
76.其中,所述各预打包文件的总数量应与当前jenkins服务器中备份视图的数量一致。
77.s280、将所述备份视图下的全部预打包文件自动化备份到gitlab仓库中。
78.其中,所述gitlab仓库是一个用于仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的web服务。安装方法是参考gitlab仓库在gitlub上的有关页面。gitlab仓库是被广泛使用的基于git的开源代码管理平台,主要针对软件开发过程中产生的代码和文档进行管理,gitlab仓库主要针对群组和工程项目两个维度进行代码和文档管理,一个群组可以管理多个工程项目,每个工程项目中有多个分支,分支间相互独立,不同分支可以进行归并;进一步,所述仓储管理系统是一个实时的计算机软件系统,它能够按照运作的业务规则和运算法则,对信息、资源、行为、存货和分销运作进行更完美地管理,提高效率。
79.本发明实施例的技术方案,通过每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件,之后针对每个jenkins服务器
地址,分别执行下述操作:自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取当前jenkins服务器中包括的全部视图,之后根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图,之后获取所述每个备份视图下的全部更新任务,并通过预设的格式工具将当前的各更新任务转化为预设格式的第一备份数据,之后判断所述第一备份数据中是否包含所述目标脚本数据;若是,则通过预设工具将所述第一备份数据与所述目标脚本数据进行打包,生成与当前更新任务匹配的预打包文件;若否,则根据当前的第一备份数据生成与更新任务的预打包文件,最后将所述备份视图下的全部预打包文件自动化备份到gitlab仓库中,实现了jenkins系统的自动化备份,提高了备份工作的效率,节约了备份资源。
80.具体实施场景
81.为了更清楚的表述本发明实施例提供的技术方案,本实施例将一种根据本实施例得到的一种具体实施场景进行简单的介绍。
82.如图2b所示,为根据本实施例得到的一种jenkins系统的自动化备份方法的流程图。
83.步骤一:建立jenkins流水线定时任务,并创建与所述jenkins流水线定时任务匹配的执行脚本。
84.步骤二:在config.ini配置文件中,查询与所述当前jenkins服务器地址匹配的合法登录信息。
85.步骤三:根据所述合法登录信息,自动登录与当前jenkins服务器地址匹配的当前jenkins服务器。
86.步骤四:自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图。
87.步骤五:获取与所述当前jenkins服务器对应的至少一个过滤视图,并在全部视图中滤除掉全部过滤视图,得到至少一个备份视图。
88.步骤六:获取所述每个备份视图下的全部更新任务,并通过预设的格式工具将当前的各更新任务转化为预设格式的第一备份数据。
89.步骤七:在所述第一备份数据中识别与当前的更新任务匹配的目标脚本数据。
90.步骤八:通过预设工具将所述第一备份数据与所述目标脚本数据进行打包,以得到与当前的更新任务匹配的预打包文件。
91.步骤九:将各预打包文件进行组装。并将所述备份视图下的全部预打包文件自动化备份到gitlab仓库中。
92.实施例三
93.图3为本发明实施例三提供的一种jenkins系统的自动化备份装置的结构示意图。
94.如图3所示,该装置包括:
95.服务器地址获取模块310,用于每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;
96.视图获取模块320,用于自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图;
97.视图筛选模块330,用于根据与所述当前jenkins服务器对应的筛选条件,在全部
视图中筛选得到至少一个备份视图;
98.自动备份模块340,用于对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中。
99.本发明实施例的技术方案,通过每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件,之后针对每个jenkins服务器地址,分别执行下述操作:自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图,之后根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图,最后对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中,实现了jenkins系统的自动化备份,提高了备份工作的效率,节约了备份资源。
100.在上述实施例的基础上,视图获取模块320,包括:
101.发信息查询单元,用于在config.ini配置文件中,查询与所述当前jenkins服务器地址匹配的合法登录信息;
102.服务器登录单元,用于根据所述合法登录信息,自动登录与当前jenkins服务器地址匹配的当前jenkins服务器。
103.在上述实施例的基础上,视图筛选模块330,包括:
104.过滤视图获取单元,用于获取与所述当前jenkins服务器对应的至少一个过滤视图;
105.备份视图获取单元,用于在全部视图中滤除掉全部过滤视图,得到至少一个备份视图。
106.在上述实施例的基础上,自动备份模块340,包括:
107.更新任务获取单元,用于获取所述每个备份视图下的全部更新任务;
108.格式转换单元,用于通过预设的格式工具将当前的各更新任务转化为预设格式的第一备份数据;
109.脚本数据匹配单元,用于在所述第一备份数据中识别与当前的更新任务匹配的目标脚本数据;
110.预打包单元,用于通过预设工具将所述第一备份数据与所述目标脚本数据进行打包,以得到与当前的更新任务匹配的预打包文件;
111.文件判断单元,用于判断全部更新任务是否都存在匹配的预打包文件;
112.组装单元,用于将各预打包文件进行组装,以得到各预打包文件,并将所述各预打包文件自动化备份到gitlab仓库中;
113.返回执行单元,用于将不存在匹配的预打包文件的更新任务进行提取,返回执行通过预设的格式工具将各更新任务转化为预设格式的第一备份数据的操作。
114.在上述实施例的基础上,所述脚本数据匹配单元,进一步包括:
115.目标脚本数据判断单元,用于判断所述第一备份数据中是否包含目标脚本数据;
116.第一预打包单元,用于通过预设工具将所述第一备份数据与所述目标脚本数据进行打包,生成与当前更新任务匹配的预打包文件
117.第二预打包单元,用于根据当前的第一备份数据生成与更新任务的预打包文件。
118.在上述实施例的基础上,所述一种jenkins系统的自动化备份装置,还包括:
119.脚本创建模块,用于在每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件之前,建立jenkins流水线定时任务;
120.其中,所述jenkins流水线定时任务中预先配置定时备份时间、至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;
121.创建与所述jenkins流水线定时任务匹配的执行脚本;
122.其中,通过在jenkins流水线定时任务循环触发所述执行脚本,执行针对每个jenkins服务器地址的更新任务的自动化备份操作
123.本发明实施例所提供的jenkins系统的自动化备份装置可执行本发明任意实施例所提供的jenkins系统的自动化备份方法,具备执行方法相应的功能模块和有益效果。
124.实施例四
125.图4示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
126.如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
127.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
128.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如jenkins系统的自动化备份方法。
129.相应的,该方法包括:
130.每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;
131.针对每个jenkins服务器地址,分别执行下述操作:
132.自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图;
133.根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图;
134.对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中。
135.在一些实施例中,jenkins系统的自动化备份方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的jenkins系统的自动化备份方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行jenkins系统的自动化备份方法。
136.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
137.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
138.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
139.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
140.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
141.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
142.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。

技术特征:
1.一种jenkins系统的自动化备份方法,其特征在于,包括:每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;针对每个jenkins服务器地址,分别执行下述操作:自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图;根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图;对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中。2.根据权利要求1所述的方法,其特征在于,登录与当前jenkins服务器地址匹配的当前jenkins服务器,包括:在config.ini配置文件中,查询与所述当前jenkins服务器地址匹配的合法登录信息;根据所述合法登录信息,自动登录与当前jenkins服务器地址匹配的当前jenkins服务器。3.根据权利要求1所述的方法,其特征在于,根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图,包括:获取与所述当前jenkins服务器对应的至少一个过滤视图;在全部视图中滤除掉全部过滤视图,得到至少一个备份视图。4.根据权利要求1所述的方法,其特征在于,对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中,包括:获取所述每个备份视图下的全部更新任务;通过预设的格式工具将当前的各更新任务转化为预设格式的第一备份数据;判断所述第一备份数据中是否包含所述目标脚本数据;若是,则通过预设工具将所述第一备份数据与所述目标脚本数据进行打包,生成与当前更新任务匹配的预打包文件;若否,则根据当前的第一备份数据生成与更新任务的预打包文件。5.根据权利要求4所述的方法,其特征在于,通过预设工具将所述第一备份数据与所述目标脚本数据进行打包,生成与当前更新任务匹配的预打包文件之后,包括:判断所述当前备份视图下的全部更新任务是否均存在匹配的预打包文件;若是,则将所述备份视图下的全部预打包文件自动化备份到gitlab仓库中;若否,则返回执行通过预设的格式工具将当前的各更新任务转化为预设格式的第一备份数据的操作,直至全部更新任务均存在匹配的预打包文件,并将所述备份视图下的全部预打包文件自动化备份到gitlab仓库中。6.根据权利要求1-5任一项所述的方法,其特征在于,在每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件之前,还包括:建立jenkins流水线定时任务;其中,所述jenkins流水线定时任务中预先配置定时备份时间、至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;其中,所述筛选条件包括:服务器筛
选条件以及视图筛选条件;创建与所述jenkins流水线定时任务匹配的执行脚本;其中,通过在jenkins流水线定时任务循环触发所述执行脚本,执行针对每个jenkins服务器地址的更新任务的自动化备份操作。7.一种jenkins系统的自动化备份装置,其特征在于,包括:服务器地址获取模块,用于每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;视图获取模块,用于自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取所述当前jenkins服务器中包括的全部视图;视图筛选模块,用于根据与所述当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图;自动备份模块,用于对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中。8.一种jenkins系统的自动化备份装置,其特征在于,还包括:脚本创建模块,用于在每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件之前,建立jenkins流水线定时任务;其中,所述jenkins流水线定时任务中预先配置定时备份时间、至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;创建与所述jenkins流水线定时任务匹配的执行脚本;其中,通过在jenkins流水线定时任务循环触发所述执行脚本,执行针对每个jenkins服务器地址的更新任务的自动化备份操作。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的一种jenkins系统的自动化备份方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的一种jenkins系统的自动化备份方法。

技术总结
本发明公开了一种jenkins系统的自动化备份方法、装置、设备及介质。该方法包括:每当到达定时备份时间时,获取至少一个jenkins服务器地址,和与每个jenkins服务器地址对应的筛选条件;针对每个jenkins服务器地址,分别执行下述操作:自动登录与当前jenkins服务器地址匹配的当前jenkins服务器,并获取当前jenkins服务器中包括的全部视图;根据与当前jenkins服务器对应的筛选条件,在全部视图中筛选得到至少一个备份视图;对每个备份视图下包括的全部更新任务自动化备份到gitlab仓库中。通过本发明的技术方案,能够实现jenkins系统的自动化备份,提高了备份工作的效率。提高了备份工作的效率。提高了备份工作的效率。


技术研发人员:夏锦春 赵磊 周诚淇 杨嘉晨 赵玲 吕金花 赵怡婷 刘洋
受保护的技术使用者:太初(无锡)电子科技有限公司
技术研发日:2023.07.20
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐