代码发布方法以及相装置与流程

文档序号:24655852发布日期:2021-04-13 21:01阅读:93来源:国知局
代码发布方法以及相装置与流程

1.本申请涉及通信领域,具体而言,涉及一种代码发布方法以及相装置。


背景技术:

2.代码发布大多基于运维jenkins来实现。
3.目前市面上常用的代码发布系统依赖java系统,需要在宿主机上安装java环境。进一步缺少没有服务器管理以及用户组管理的功能。
4.针对相关技术中代码发布系统缺少服务器以及用户组管理的问题,目前尚未提出有效的解决方案。
5.申请的实施例内容
6.本申请的主要目的在于提供一种代码发布方法以及相装置,以解决代码发布系统缺少服务器以及用户组管理的问题。
7.为了实现上述目的,根据本申请的一个方面,提供了一种代码发布方法。
8.根据本申请的代码发布方法包括:根据可视化配置界面,添加服务器群组和用户组;根据项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组;按照对用户的预设权限对所述项目执行发布上线操作。
9.进一步地,方法还包括:根据可视化配置界面添加所述用户,并且所述用户的权限被配置为可执行不同的操作权限。
10.进一步地,所述用户的权限被配置为可执行不同的操作权限包括:所述用户的权限被配置为至少如下之一:新建代码发布任务的权限、审核所述代码发布任务的权限、发布所述代码的权限。
11.进一步地,所述用户的权限被配置为可执行不同的操作权限包括:所述用户的权限被配置为具有权限建立所述代码发布任务的用户可建立代码上线任务;和/或,所述用户的权限被配置为具有审核权限的用户审核同意所述代码上线任务。
12.进一步地,所述根据项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组包括:根据项目建立与所述服务器群组的关联关系之后,将所述项目发布至预设的所述服务器群组中的服务器并制定所述项目的所属的所述用户组。
13.进一步地,按照对用户的预设权限对所述项目执行发布上线操作之后,还包括:在检测到对所述项目执行发布上线操作之后,所述项目的代码更新失败的情况下,通过所述可视化配置界面执行回滚操作。
14.为了实现上述目的,根据本申请的另一方面,提供了一种代码发布装置。
15.根据本申请的代码发布装置包括:配置模块,用于根据可视化配置界面,添加服务器群组和用户组;确定模块,用于根据项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组;发布模块,用于按照对用户的预设权限对所述项目执行发布上线操作。
16.为了实现上述目的,根据本申请的又一方面,提供了一种存储介质,所述存储介质
中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
17.为了实现上述目的,根据本申请的再一方面,提供了一种服务器,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行上述任一项所述的方法。
18.在本申请实施例中代码发布方法以及相关装置,采用根据可视化配置界面,添加服务器群组和用户组的方式,通过项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组,达到了按照对用户的预设权限对所述项目执行发布上线操作的目的,从而实现了代码发布系统的权限管理以及快速配置的技术效果,进而解决了代码发布系统缺少服务器以及用户组管理的技术问题。
附图说明
19.构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
20.图1是根据本申请实施例的代码发布方法所实施的系统结构示意图;
21.图2是根据本申请实施例的代码发布方法流程示意图;
22.图3是根据本申请实施例的代码发布装置结构示意图;
23.图4是根据本申请实施例的代码发布方法流程示意图。
具体实施方式
24.为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
25.需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
26.在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
27.并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
28.此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
29.需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
30.如图1所示,在本申请实施例中的方法实施的系统包括:项目100、待发布代码200、服务器300、用户组400。其中,所述项目100可以根据业务需要发布到对应的服务器300,不同的用户组400可以查看不同的项目100。所述用户组400中的用户具有不同的权限。所述项目100即包含了所述待发布代码200。在所述用户组400对所述待发布代码200具有上线、审核以及发布等操作权限。
31.如图2所示,该方法包括如下的步骤s201至步骤步骤s203:
32.步骤s201,根据可视化配置界面,添加服务器群组和用户组;
33.步骤s202,根据项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组;
34.步骤s203,按照对用户的预设权限对所述项目执行发布上线操作。
35.从以上的描述中,可以看出,本申请实现了如下技术效果:
36.采用根据可视化配置界面,添加服务器群组和用户组的方式,通过项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组,达到了按照对用户的预设权限对所述项目执行发布上线操作的目的,从而实现了代码发布系统的权限管理以及快速配置的技术效果,进而解决了代码发布系统缺少服务器以及用户组管理的技术问题。
37.通过所述步骤s201中的可视化配置界面可以将代码发布所需的服务器群组和用户组预先完成配置。
38.在一种具体实施方式中,根据可视化配置界面在所述服务器群组中至少可以选择至少两个服务器,用于作为宿主机。并且宿主机可是windows,linux,macos适配主流系统,在本申请中并不进行具体限定。
39.在一种较佳实施方式中,采用二进制文件,可视化配置界面对于系统无依赖,拆箱就可用。
40.在一种具体实施方式中,根据可视化配置界面在所述用户组中不仅包括了用户还对所述用户配置了不同的操作权限。比如,对于项目a用户组中的用户a有上线权限,对于项目b用户组中的用户b有审核权限。
41.通过所述步骤s202根据具体的项目建立与所述服务器群组之间的关联关系是,比如项目a需要发布至服务器群组中的服务器a,项目b需要发布至服务器集群中的服务器b。
42.进一步,根据具体的项目可以确定所述项目所属的所述用户组。比如项目a属于所述用户组a,项目b属于所述用户组b以及用户组a。
43.在一种具体实施方式中,根据可视化配置界面所述项目可以选择为对项目组可见或者不可见。
44.在一种具体实施方式中,根据可视化配置界面所述项目可以选择为对项目组某些成员可见或者不可见。
45.在一种较佳实施方式中,根据可视化配置界面所述项目可以选择为对项目组可均不可见。
46.通过所述步骤s203根据可视化配置界面配置得到所述用户的预设权限,然后按照对用户的预设权限对所述项目执行发布上线操作。
47.在一种具体实施方式中,按照对用户的预设权限对所述项目执行发布上线操作时,包括新建发布任务,审核发布任务以及发布项目。经过权限配置后的用户组可以对项目执行发布上线操作。
48.在一种具体实施方式中,按照对用户的预设权限对所述项目执行发布上线操作时通过所述可视化配置界面中预先配置的用户权限,对所述项目执行发布上线操作。
49.在一种较佳实施方式中,按照对用户的预设权限对所述项目执行发布上线操作时,还可以通过所述可视化配置界面中的选项直接进行回滚操作。
50.作为本申请实施例中的优选,还包括:根据可视化配置界面添加所述用户,并且所述用户的权限被配置为可执行不同的操作权限。
51.具体实施时,根据所述可视化配置界面添加所述用户,所述用户是参与项目的人员或者管理员。通过所述可视化配置界面可以将所述用户的权限被配置为可执行不同的操作权限。
52.即通过可视化的界面添加用户,用户组和权限,不同的用户组可查看不同的项目,不同的权限的用户可对项目不同的操作权限,比如,新建发布任务,审核发布任务和发布。
53.作为本申请实施例中的优选,所述用户的权限被配置为可执行不同的操作权限包括:所述用户的权限被配置为至少如下之一:新建代码发布任务的权限、审核所述代码发布任务的权限、发布所述代码的权限。
54.具体实施时,对于所述用户的权限被配置为新建代码发布任务的权限、审核所述代码发布任务的权限、发布所述代码的权限,可以设置超级管理员具有以上所有权限,或者按照用户的不同进行操作权限的划分。通过上述2.可视化操作实现了对于服务器群组和用户群组管理功能。
55.作为本申请实施例中的优选,所述用户的权限被配置为可执行不同的操作权限包括:所述用户的权限被配置为具有权限建立所述代码发布任务的用户可建立代码上线任务;和/或,所述用户的权限被配置为具有审核权限的用户审核同意所述代码上线任务。
56.具体实施时,通过所述可视化配置界面将所述用户的权限被配置为具有权限建立所述代码发布任务的用户同时可建立代码上线任务。即用户具有两种权限:建立代码以及建立代码上线任务。
57.具体实施时,通过所述可视化配置界面将所述用户的权限被配置为具有审核权限的用户同时审核同意所述代码上线任务。即用户具有两种权限:审核代码以及同意所述代码上线任务。
58.即通过有权限建发布任务的用户,建立上线任务,并且通过有审核权限的用户审核同意上线任务之后,用户将项目发布上线。
59.作为本申请实施例中的优选,所述根据项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组包括:根据项目建立与所述服务器群组的关联关系之后,将所述项目发布至预设的所述服务器群组中的服务器并制定所述项目的所属的所述用
户组。
60.具体实施时,在根据项目建立与所述服务器群组的关联关系之后,通过所述可视化配置界面将所述项目发布至预设的所述服务器群组中的服务器并制定所述项目的所属的所述用户组。
61.即在配置项目,将项目跟服务器群组关联起来,已指定要将项目发布到哪些服务器,并且指定该项目可建的用户组。
62.作为本申请实施例中的优选,按照对用户的预设权限对所述项目执行发布上线操作之后,还包括:在检测到对所述项目执行发布上线操作之后,所述项目的代码更新失败的情况下,通过所述可视化配置界面执行回滚操作。
63.具体实施时,通过所述可视化配置界面执行回滚操作实现上线任务可追溯,可回滚。
64.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
65.根据本申请实施例,还提供了一种用于实施上述方法的代码发布装置,如图3所示,该装置包括:
66.配置模块301,用于根据可视化配置界面,添加服务器群组和用户组;
67.确定模块302,用于根据项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组;
68.发布模块303,用于按照对用户的预设权限对所述项目执行发布上线操作。
69.在所述配置模块301中的可视化配置界面可以将代码发布所需的服务器群组和用户组预先完成配置。
70.在一种具体实施方式中,根据可视化配置界面在所述服务器群组中至少可以选择至少两个服务器,用于作为宿主机。并且宿主机可是windows,linux,macos适配主流系统,在本申请中并不进行具体限定。
71.在一种较佳实施方式中,采用二进制文件,可视化配置界面对于系统无依赖,拆箱就可用。
72.在一种具体实施方式中,根据可视化配置界面在所述用户组中不仅包括了用户还对所述用户配置了不同的操作权限。比如,对于项目a用户组中的用户a有上线权限,对于项目b用户组中的用户b有审核权限。
73.在所述确定模块302中根据具体的项目建立与所述服务器群组之间的关联关系是,比如项目a需要发布至服务器群组中的服务器a,项目b需要发布至服务器集群中的服务器b。
74.进一步,根据具体的项目可以确定所述项目所属的所述用户组。比如项目a属于所述用户组a,项目b属于所述用户组b以及用户组a。
75.在一种具体实施方式中,根据可视化配置界面所述项目可以选择为对项目组可见或者不可见。
76.在一种具体实施方式中,根据可视化配置界面所述项目可以选择为对项目组某些成员可见或者不可见。
77.在一种较佳实施方式中,根据可视化配置界面所述项目可以选择为对项目组可均不可见。
78.在所述发布模块303中根据可视化配置界面配置得到所述用户的预设权限,然后按照对用户的预设权限对所述项目执行发布上线操作。
79.在一种具体实施方式中,按照对用户的预设权限对所述项目执行发布上线操作时,包括新建发布任务,审核发布任务以及发布项目。经过权限配置后的用户组可以对项目执行发布上线操作。
80.在一种具体实施方式中,按照对用户的预设权限对所述项目执行发布上线操作时通过所述可视化配置界面中预先配置的用户权限,对所述项目执行发布上线操作。
81.在一种较佳实施方式中,按照对用户的预设权限对所述项目执行发布上线操作时,还可以通过所述可视化配置界面中的选项直接进行回滚操作。
82.为了更好的理解上述代码发布方法流程,以下结合优选实施例对上述技术方案进行解释说明,但不用于限定本申请的实施例实施例的技术方案。
83.本申请的实施例优选实施例基于可视化配置界面实现了用服务器群组和用户群组管理功能,并且上线任务可追溯,可回滚
84.如图4所示,根据本申请实施例的代码发布方法流程示意图,具体包括如下步骤:
85.步骤s201,根据可视化配置界面,添加服务器群组和用户组;
86.步骤s202,根据项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组;
87.步骤s203,按照对用户的预设权限对所述项目执行发布上线操作;
88.步骤s204,项目的代码是否更新成功?如否则进入步骤s205。
89.步骤s205,在检测到对所述项目执行发布上线操作之后,所述项目的代码更新失败的情况下,通过所述可视化配置界面执行回滚操作。
90.通过所述步骤s201中的可视化配置界面可以将代码发布所需的服务器群组和用户组预先完成配置。
91.通过所述步骤s202根据具体的项目建立与所述服务器群组之间的关联关系是,比如项目a需要发布至服务器群组中的服务器a,项目b需要发布至服务器集群中的服务器b。
92.进一步,根据具体的项目可以确定所述项目所属的所述用户组。比如项目a属于所述用户组a,项目b属于所述用户组b以及用户组a。
93.通过所述步骤s203根据可视化配置界面配置得到所述用户的预设权限,然后按照对用户的预设权限对所述项目执行发布上线操作。
94.最后,通过所述可视化配置界面执行回滚操作实现上线任务可追溯,可回滚。
95.本申请的实施例的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
96.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
97.s1,根据可视化配置界面,添加服务器群组和用户组;
98.s2,根据项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组;
99.s3,按照对用户的预设权限对所述项目执行发布上线操作。
100.可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
101.s1根据可视化配置界面添加所述用户,并且所述用户的权限被配置为可执行不同的操作权限。
102.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read

only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
103.本申请的实施例的实施例还提供了一种服务器,包括处理器;以及
104.存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行任一项所述的方法。
105.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
106.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
107.s1,根据可视化配置界面,添加服务器群组和用户组;
108.s2,根据项目建立与所述服务器群组的关联关系以及确定所述项目所属的所述用户组;
109.s3,按照对用户的预设权限对所述项目执行发布上线操作。
110.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
111.显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
112.以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1