一种在分布式系统中配置Gitlab组件的方法及设备与流程

文档序号:13735806阅读:256来源:国知局
一种在分布式系统中配置Gitlab组件的方法及设备与流程

本发明涉及电子技术领域,尤其涉及一种在分布式系统中配置gitlab组件的方法及设备。



背景技术:

仓库管理系统gitlab是一种用于仓库管理系统的开源项目,其能够实现一个自托管的git项目仓库,可通过web界面进行访问公开的项目或者私人项目。例如,gitlab能够浏览源代码,管理缺陷和注释。

虽然gitlab可以为管理团队提供对仓库的访问,但是,现有技术中在对gitlab组件进行部署时,均是将多个gitlab组件部署在同一个服务器上,例如,在多个节点之间可进行数据交互的系统中,每个节点对应的服务器上都需要配置一套gitlab,使得在多个节点之间可进行数据交互的系统中的源代码、图片等项目资源无法进行统一管理。



技术实现要素:

本发明实施例提供一种在分布式系统中配置gitlab组件的方法及设备,可为分布式系统中的各个节点配置gitlab组件,实现在分布式系统中的项目资源统一管理。

第一方面,本发明实施例提供了一种在分布式系统中配置gitlab组件的方法,包括:

从预设配置文件中获取目标gitlab组件的预设配置信息;其中,所述预设配置文件包括用于描述所有gitlab组件如何被配置的脚本文件;

将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点;

根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点。

第二方面,本发明实施例提供了一种设备,包括:

获取单元,用于从预设配置文件中获取目标gitlab组件的预设配置信息;其中,所述预设配置文件包括用于描述所有gitlab组件如何被配置的脚本文件;

信息载入单元,用于将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点;

配置单元,用于根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点。

第三方面,本发明实施例提供了另一种设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持设备执行上述方法的应用程序,所述处理器被配置用于执行上述第一方面的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。

本发明实施例通过从预设配置文件中获取目标gitlab组件的预设配置信息;其中,预设配置文件包括用于描述所有gitlab组件如何被配置的脚本文件;将预设配置信息载入目标gitlab组件的原始配置文件中,得到新的配置文件;其中,新的配置文件用于指向分布式系统中的目标节点;根据新的配置文件将目标gitlab组件配置给目标节点;实现了为分布式系统中的各个节点配置gitlab组件,使分布式节点中的各个节点能够得到各自所需的目标gitlab组件,实现分布式系统中的项目资源能被统一管理。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种在分布式系统中配置gitlab组件的方法的示意流程图;

图2是本发明另一实施例提供的一种在分布式系统中配置gitlab组件的方法的示意流程图;

图3是本发明实施例提供的一种设备的示意性框图;

图4是本发明另一实施例提供的一种设备示意性框图;

图5是本发明再一实施例提供的一种设备示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

具体实现中,本发明实施例中描述的设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

在接下来的讨论中,描述了包括显示器和触摸敏感表面的设备。然而,应当理解的是,设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。

可以在设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及设备上显示的相应信息。这样,设备的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

参见图1,图1是本发明实施例提供一种在分布式系统中配置gitlab组件的方法的示意流程图。在本实施例中,在分布式系统中配置gitlab组件的方法的执行主体为具有配置gitlab组件的功能的设备,该设备可以是终端或服务器,终端和服务器可以是计算机,或者具有编写代码、试运行代码等功能的其他设备。如图1所示,一种在分布式系统中配置gitlab组件的方法可包括:

s101:从预设配置文件中获取目标gitlab组件的预设配置信息。

分布式系统中的任一节点从预设配置文件中获取目标gitlab组件的预设配置信息。

在步骤s101中,预设配置文件是根据分布式系统中的项目属性或者项目需求,针对gitlab组件进行预先配置的脚本文件,即该预设配置文件为用于描述gitlab组件如何配置的脚本文件。

在本实施例中,预设配置文件中包含有gitlab组件中的全部组件对应的预设配置信息。预设配置信息包括:在配置gitlab组件前,根据实际使用情况以及各个gitlab组件的功能预先设置好的信息,或者根据分布式系统中的各个节点的工作内容而设置的信息。

需要说明的是,由于gitlab是一种用于仓库管理系统的开源项目,其能够实现一个自托管的git项目仓库,可通过web界面进行访问公开的项目或者私人项目。因此,在分布式系统中,多个gitlab组件可以被配置于相同的节点设备上或不同的节点设备上,具体可以根据各个节点在分布式系统中的位置或功能所决定。分别配置于多个节点的gitlab组件可以相同,也可以不同。

例如,gitlab的服务构成包括以下组件:

nginx:静态web服务器。

gitlab-shell:用于处理git命令和修改authorizedkeys列表。

gitlab-workhorse:轻量级的反向代理服务器。

logrotate:日志文件管理工具。

postgresql:数据库。

redis:缓存数据库。

sidekiq:用于在后台执行队列任务(异步执行)。

unicorn:httpserver,用于gitlabrails应用的托管。

至于如何确定目标gitlab组件,可以包括但不仅限于以下两个场景。

场景1:

根据预设配置顺序对gitlab组件进行配置,当gitlab组件需要被配置到分布式系统中的目标节点上时,该gitlab组件则为目标gitlab组件。

场景2:

根据分布式系统中各个节点的需求确定需要配置gitlab组件,即根据节点的功能、位置或者业务需求确定目标gitlab组件。

可以理解的是,在本发明的所有实施例中,目标gitlab组件是待配置给目标节点的gitlab组件,可以包括上述组件中的部分组件或全部组件。在其他实施例中还可以根据实际情况增减gitlab组件。

s102:将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点。

分布式系统中的任一节点将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件。

在步骤s102中,每个gitlab组件包括至少一个原始配置文件。

需要说明的是,新的配置文件用于指向分布式系统中的目标节点,目标节点为分布式系统中的任意一个、两个或多个节点,在本实施例中,目标节点可以为服务器、客户端以及其他终端中的至少一种。通过修改gitlab组件的原始配置文件内容,进而得到新的配置文件,使gitlab组件在配置时,能够根据新的配置文件进行配置。

以目标gitlab组件为缓存数据库redis为例,redis组件的原始配置文件中原始配置信息为默认信息或者为空。通过从预设配置文件中获取redis组件的预设配置信息,再将该预设配置信息载入redis组件的原始配置文件中,进而修改redis组件的配置信息,得到新的配置文件。

s103:根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点,使所述分布式系统中的项目资源能被统一管理。

分布式系统中的任一节点根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点。

在步骤s103中,根据所述新的配置文件对所述目标gitlab组件进行配置的节点与所述目标节点可以为同一节点,或者为不同的节点。

例如,分布式系统中的第一节点根据所述新的配置文件将所述目标gitlab组件配置给第二节点,该第二节点为所述目标节点。

再例如,分布式系统中的第一节点根据所述新的配置文件对所述目标gitlab组件进行第一节点配置,即该第一节点为所述目标节点。

需要说明的是,将目标gitlab组件配置给目标节点,该目标gitlab组件为该目标节点上必须配置的gitlab组件。在本实施例中,目标节点上可以同时配置多个目标gitlab组件,且相同的目标gitlab组件也可以被配置到不同的目标节点上。

本发明实施例通过从预设配置文件中获取目标gitlab组件的预设配置信息;其中,预设配置文件用于描述所有gitlab组件如何被配置的脚本文件;将预设配置信息载入目标gitlab组件的原始配置文件中,得到新的配置文件;其中,新的配置文件用于指向分布式系统中的目标节点;根据新的配置文件将目标gitlab组件配置给目标节点;实现了为分布式系统中的各个节点配置gitlab组件,使分布式节点中的各个节点能够得到各自所需的目标gitlab组件,实现分布式系统中的项目资源能被统一管理。

参见图2,是本发明另一实施例提供的一种在分布式系统中配置gitlab组件的方法的示意流程图,在本实施例中,在分布式系统中配置gitlab组件的方法的执行主体为具有配置gitlab组件的功能的设备,该设备可以是终端或服务器,终端和服务器可以是计算机,或者具有编写代码、试运行代码等功能的其他设备。如图2所示一种在分布式系统中配置gitlab组件的方法可包括:

s201:从分布式系统中的主节点获取预设配置文件。

分布式系统中的任一节点从分布式系统中的主节点获取预设配置文件。

在步骤s201中,分布式系统中的主节点为分布式系统中的服务器所在的节点。

可以理解的是,在分布式系统中,主节点下可以包括多个节点层,每层上分布有多个节点。

从分布式系统中的主节点获取预设配置文件,可以是任一节点层中的某个节点从分布式系统中的主节点获取预设配置文件。

例如,分布式系统中的客户端从分布式系统中的主节点获取预设配置文件,即在同一个分布式系统中,客户端从服务器中获取预设配置文件。

需要说明的是,在本发明的所有实施例中,从分布式系统中的主节点获取预设配置文件之前,需要在分布式系统中的数据库服务器中(主节点)预先安装有mysql组件,缓存服务器(主节点)中预先安装有redis组件,通过新建数据库和缓存,配置用户名和密码,并授权分布式系统中的所有从节点设备进行远程访问。

s202:从预设配置文件中获取目标gitlab组件的预设配置信息。

分布式系统中的任一节点从预设配置文件中获取目标gitlab组件的预设配置信息。

在步骤s202中,预设配置文件是根据分布式系统中的项目属性或者项目需求,针对gitlab组件进行预先配置的脚本文件,即该预设配置文件为用于描述gitlab组件如何配置的脚本文件。预设配置文件中包含有gitlab组件中的全部组件对应的预设配置信息。

步骤s202具体包括:根据所述目标gitlab组件的名称扫描所述预设配置文件,得到所述名称对应的第一数据列表,所述第一数据列表包括参数名称以及所述参数名称对应的参数目标信息;将所述第一数据列表识别为所述预设配置信息。

需要说明的是,在预设配置文件中,不同的目标gitlab组件对应不同的预设配置信息。

例如,目标gitlab组件为缓存数据库redis,则根据目标gitlab组件的名称扫描所述预设配置文件,得到所述名称对应的第一数据列表。即把“redis”作为关键字,在所述预设配置文件中以“redis”作为关键字扫描所述预设配置文件,进而得到与关键字“redis”对应的第一数据列表。

表1示出了第一数据列表的一种实现的可能。

需要说明的是,第一数据列表可以包括但不仅限于表1中的参数名称,或者参数目标信息。

表1

如表1所示,与关键字“redis”对应的第一数据列表包括的参数名称包括:主机名称/地址host、接口名称/地址port、用户名user、密码password以及数据库名称/地址db,以上参数名称各自对应的参数目标信息为a、b、c、d以及e。

可以理解的是,预设配置文件可以为统一的预设列表文件,该预设列表文件包括了需要进行配置的所有目标gitlab组件的预设配置信息。

s203:将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点。

分布式系统中的任一节点将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点。

在步骤s203中,所述目标节点为分布式系统中的任意一个、两个或多个节点,在本实施例中,目标节点可以为服务器、客户端以及其他终端中的至少一种。

步骤s203具体可以包括:将所述第一数据列表的内容载入所述目标gitlab组件的原始配置文件中,得到新的配置文件。

作为本实施例一种实现的可能,通过运行按预设格式编写的脚本将第一数据列表的内容载入目标gitlab组件的原始配置文件中。

例如,脚本开头可以为:hashmap<key1,list<haspmap<key2,value>>;其中:key1对应目标gitlab组件名称,可以为redis、mysql、nginx等。list对应目标gitlab组件的第一数据列表。key2对应第一数据列表中的参数名称,如表1中的主机名称/地址host、接口名称/地址port、用户名user、密码password以及数据库名称/地址db。value对应参数名称各自对应的参数目标信息。

结合步骤s202,通过根据所述目标gitlab组件的名称扫描所述预设配置文件,得到所述名称对应的第一数据列表,将所述第一数据列表识别为所述预设配置信息。将第一数据列表的内容载入目标gitlab组件的原始配置文件中,得到新的配置文件。

表2示出了静态web服务器nginx对应的第一数据列表的一种实现的可能。

表2

如表2所示,目标gitlab组件为静态web服务器nginx,第一数据列表的参数名称可以包括但不仅限于:

第一网络地址ip、第一网络接口名称/地址port、第一网络主机名称http-hostname、第二网络地址ip、第二网络接口名称/地址port以及第二网络主机名称http-hostname,与以上参数名称各自对应的参数目标信息为a、b、c、d、e以及f。

s204:根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点,使所述分布式系统中的项目资源能被统一管理。

分布式系统中的任一节点根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点。

在步骤s204中,所述新的配置文件包括目标配置地址信息和/或目标配置端口信息。

步骤s204具体可以包括:将所述目标配置地址信息和/或目标配置端口信息所指向的节点识别为所述目标节点;将所述目标gitlab组件配置给所述目标节点。

以目标gitlab组件是db和redis为例,表3所示,第一数据列表中参数名称包括:配置地址ip和配置端口port。

表3

如表3所示,组件db的配置地址ip为192.168.1.1,配置端口port编号为3306。组件redis的配置地址ip为192.168.1.2,配置端口port编号为6379。

作为本实施例另一种实现的可能,将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,具体可以是通过脚本实现。

例如,脚本开头内容可以是调用函数hashmap<string,list<string>>,其具体内容可以包括:

其中,config为配置命令,用于将表3中的内容配到组件是db和组件redis原始配置文件中,得到新的配置文件。

结合步骤s203,将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件。即识别出hashmap中的db下的内容ip:192.168.1.1和port:3306,载入原始配置文件db.yml;识别出hashmap中的redis下的内容ip:192.168.1.2和port:6379,载入原始配置文件redis.yml。

需要说明的是,当仓库管理系统gitlab的所有gitlab组件被部署至分布式系统中的部分或全部节点上时,该仓库管理系统gitlab能够对该分布式系统中的项目资源进行统一管理,并且分布式系统中的任意节点可通过账号和密码访问仓库管理系统gitlab中的项目资源。

可以理解的是,在每个新的配置文件中,目标配置地址信息和/或目标配置端口信息所指向的节点为同一节点。

本发明实施例通过从预设配置文件中获取目标gitlab组件的预设配置信息;其中,预设配置文件用于描述所有gitlab组件如何被配置的脚本文件;将预设配置信息载入目标gitlab组件的原始配置文件中,得到新的配置文件;其中,新的配置文件用于指向分布式系统中的目标节点;根据新的配置文件将目标gitlab组件配置给目标节点;实现了为分布式系统中的各个节点配置gitlab组件,使分布式节点中的各个节点能够得到各自所需的目标gitlab组件,实现分布式系统中的项目资源能被统一管理。

通过从分布式系统中的主节点获取预设配置文件,使分布式系统中的任一节点都能够获取自身所需的预设配置信息。

参见图3,图3是本发明实施例提供的一种设备的示意性框图。本实施例的设备300包括的各单元用于执行图1对应的实施例中的各步骤,具体请参阅图1以及图1对应的实施例中的相关描述,此处不赘述。本实施例的设备300包括:获取单元301、信息载入单元302以及配置单元303。具体地:

获取单元301,用于从预设配置文件中获取目标gitlab组件的预设配置信息;其中,所述预设配置文件包括用于描述所有gitlab组件如何被配置的脚本文件。

例如,获取单元301从预设配置文件中获取目标gitlab组件的预设配置信息;其中,所述预设配置文件包括用于描述所有gitlab组件如何被配置的脚本文件。

信息载入单元302,用于将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点。

例如,信息载入单元302将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点。

配置单元303,用于根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点。

例如,配置单元303根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点。

本发明实施例通过从预设配置文件中获取目标gitlab组件的预设配置信息;其中,预设配置文件用于描述所有gitlab组件如何被配置的脚本文件;将预设配置信息载入目标gitlab组件的原始配置文件中,得到新的配置文件;其中,新的配置文件用于指向分布式系统中的目标节点;根据新的配置文件将目标gitlab组件配置给目标节点;实现了为分布式系统中的各个节点配置gitlab组件,使分布式节点中的各个节点能够得到各自所需的目标gitlab组件,实现分布式系统中的项目资源能被统一管理。

参见图4,图4是本发明另一实施例提供的一种设备的示意性框图。本实施例的设备400包括的各单元用于执行图1对应的实施例中的各步骤,具体请参阅图2以及图2对应的实施例中的相关描述,此处不赘述。本实施例的设备400包括:配置文件获取单元401、获取单元402、信息载入单元403以及配置单元404。具体地:

配置文件获取单元401,用于从分布式系统中的主节点获取预设配置文件。

例如,配置文件获取单元401从分布式系统中的主节点获取预设配置文件。

获取单元402,用于从预设配置文件中获取目标gitlab组件的预设配置信息;其中,所述预设配置文件包括用于描述所有gitlab组件如何被配置的脚本文件。

例如,获取单元402从预设配置文件中获取目标gitlab组件的预设配置信息;其中,所述预设配置文件包括用于描述所有gitlab组件如何被配置的脚本文件。

进一步地,获取单元402包括:扫描单元4021和第一识别单元4022。

扫描单元4021,用于根据所述目标gitlab组件的名称扫描所述预设配置文件,得到所述名称对应的第一数据列表,所述第一数据列表包括参数名称以及所述参数名称对应的参数目标信息。

例如,扫描单元4021根据所述目标gitlab组件的名称扫描所述预设配置文件,得到所述名称对应的第一数据列表,所述第一数据列表包括参数名称以及所述参数名称对应的参数目标信息。

第一识别单元4022,用于将所述第一数据列表识别为所述预设配置信息。

例如,第一识别单元4022将所述第一数据列表识别为所述预设配置信息。

信息载入单元403,用于将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点。

例如,信息载入单元403将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点。

进一步地,信息载入单元403具体用于,将所述第一数据列表的内容载入所述目标gitlab组件的原始配置文件中,得到新的配置文件。

例如,信息载入单元403将所述第一数据列表的内容载入所述目标gitlab组件的原始配置文件中,得到新的配置文件。

配置单元404,用于根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点。

例如,配置单元404根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点。

进一步地,所述新的配置文件包括目标配置地址信息和/或目标配置端口信息;所述配置单元404,包括:第二识别单元4041和目标节点配置单元4042。

第二识别单元4041,用于将所述目标配置地址信息和/或目标配置端口信息所指向的节点识别为所述目标节点。

例如,第二识别单元4041将所述目标配置地址信息和/或目标配置端口信息所指向的节点识别为所述目标节点。

目标节点配置单元4042,用于将所述目标gitlab组件配置给所述目标节点。

例如,目标节点配置单元4042将所述目标gitlab组件配置给所述目标节点。

本发明实施例通过从预设配置文件中获取目标gitlab组件的预设配置信息;其中,预设配置文件用于描述所有gitlab组件如何被配置的脚本文件;将预设配置信息载入目标gitlab组件的原始配置文件中,得到新的配置文件;其中,新的配置文件用于指向分布式系统中的目标节点;根据新的配置文件将目标gitlab组件配置给目标节点;实现了为分布式系统中的各个节点配置gitlab组件,使分布式节点中的各个节点能够得到各自所需的目标gitlab组件,实现分布式系统中的项目资源能被统一管理。

通过从分布式系统中的主节点获取预设配置文件,使分布式系统中的任一节点都能够获取自身所需的预设配置信息。

参见图5,是本发明再一实施例提供的一种设备示意框图。如图所示的本实施例中的设备可以包括:一个或多个处理器501;一个或多个输入设备502,一个或多个输出设备503和存储器504。上述处理器501、输入设备502、输出设备503和存储器504通过总线505连接。存储器502用于存储,计算机程序包括指令,处理器501通过调用存储器502存储的计算机程序执行如下操作:

处理器501用于:从预设配置文件中获取目标gitlab组件的预设配置信息;其中,所述预设配置文件包括用于描述所有gitlab组件如何被配置的脚本文件。

处理器501用于:将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点。

处理器501用于:根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点。

处理器501还用于:从分布式系统中的主节点获取预设配置文件。

处理器501具体用于:根据所述目标gitlab组件的名称扫描所述预设配置文件,得到所述名称对应的第一数据列表,所述第一数据列表包括参数名称以及所述参数名称对应的参数目标信息。

处理器501具体用于:将所述第一数据列表识别为所述预设配置信息。

处理器501具体用于:将所述第一数据列表的内容载入所述目标gitlab组件的原始配置文件中,得到新的配置文件。

处理器501具体用于:将所述目标配置地址信息和/或目标配置端口信息所指向的节点识别为所述目标节点。

处理器501具体用于:将所述目标gitlab组件配置给所述目标节点。

应当理解,在本发明实施例中,所称处理器501可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备502可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备503可以包括显示器(lcd等)、扬声器等。

该存储器504可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器。例如,存储器504还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器501、输入设备502、输出设备503可执行本发明实施例提供的一种在分布式系统中配置gitlab组件的方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的设备的实现方式,在此不再赘述。

在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现:

从预设配置文件中获取目标gitlab组件的预设配置信息。

将所述预设配置信息载入所述目标gitlab组件的原始配置文件中,得到新的配置文件;其中,所述新的配置文件用于指向分布式系统中的目标节点。

根据所述新的配置文件将所述目标gitlab组件配置给所述目标节点。

所述计算机程序被处理器执行时还实现:

从分布式系统中的主节点获取预设配置文件。

所述计算机程序被处理器执行时还实现:

将所述第一数据列表的内容载入所述目标gitlab组件的原始配置文件中,得到新的配置文件。

所述计算机程序被处理器执行时还实现:

将所述目标配置地址信息和/或目标配置端口信息所指向的节点识别为所述目标节点。

将所述目标gitlab组件配置给所述目标节点。

本发明实施例通过从预设配置文件中获取目标gitlab组件的预设配置信息;其中,预设配置文件用于描述所有gitlab组件如何被配置的脚本文件;将预设配置信息载入目标gitlab组件的原始配置文件中,得到新的配置文件;其中,新的配置文件用于指向分布式系统中的目标节点;根据新的配置文件将目标gitlab组件配置给目标节点;实现了为分布式系统中的各个节点配置gitlab组件,使分布式节点中的各个节点能够得到各自所需的目标gitlab组件,实现分布式系统中的项目资源能被统一管理。

通过从分布式系统中的主节点获取预设配置文件,使分布式系统中的任一节点都能够获取自身所需的预设配置信息。

所述计算机可读存储介质可以是前述任一实施例所述的设备的内部存储单元,例如计算机的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1