信息的处理方法、装置、设备及存储介质制造方法及图纸

技术编号:27133016 阅读:13 留言:0更新日期:2021-01-25 20:21
本公开实施例公开了一种信息的处理方法、装置、设备及存储介质。包括:配置构建任务的信息提取函数体,并将所述信息提取函数体注入所述构建任务中;获取所述构建任务的环境变量信息;根据所述环境变量信息为所述信息提取函数体添加上下文代码,获得目标信息提取函数;运行库运行所述目标信息提取函数,获得所述环境变量信息中的目标信息。本公开实施例公开的信息的处理方法,通过运行目标信息提取函数,获得构建任务中的目标信息,可以自定义的提取任务构建信息,以实现对构建任务的环境变量包含的信息的统一管理。的信息的统一管理。的信息的统一管理。

【技术实现步骤摘要】
信息的处理方法、装置、设备及存储介质


[0001]本公开实施例涉及计算机
,尤其涉及一种信息的处理方法、装置、设备及存储介质。

技术介绍

[0002]若构建任务(如Jenkins任务)通过Hooks机制所启动,启动的过程为:开发者提交代码后,会通过Git仓库触发“Patchset created”事件,进而通知到Jenkins运行对应的构建任务。构建任务在运行时,会为任务进程提供许多内置的环境变量,这些环境变量可以包括任务序号、任务链接、任务名称等信息,而且环境变量中还会携带Git提交的主题、开发者名称、邮箱等具体信息。
[0003]构建任务在运行时,通常会获取环境变量中的信息以进行后续的流程(如:通知第三方系统进行状态更改或附加额外信息)。相关技术中,每次会获取到环境变量包含的所有信息,而实际场景中只会用到其中几个目标信息,因此,能够自定义的提取环境变量中的信息显得尤为重要。

技术实现思路

[0004]本公开实施例提供一种信息的处理方法、装置、设备及存储介质,可以自定义的提取任务构建信息,以实现对构建任务的环境变量包含的信息的统一管理。
[0005]第一方面,本公开实施例提供了一种信息的处理方法,包括:
[0006]配置构建任务的信息提取函数体,并将所述信息提取函数体注入所述构建任务中;
[0007]获取所述构建任务的环境变量信息;
[0008]根据所述环境变量信息为所述信息提取函数体添加上下文代码,获得目标信息提取函数;
[0009]运行所述目标信息提取函数,获得所述环境变量信息中的目标信息;其中,所述目标信息为所述目标信息提取函数预定义的信息。
[0010]第二方面,本公开实施例还提供了一种信息的处理装置,包括:
[0011]信息提取函数体配置模块,用于配置构建任务的信息提取函数体,并将所述信息提取函数体注入所述构建任务中;
[0012]环境变量信息获取模块,用于获取所述构建任务的环境变量信息;
[0013]目标信息提取函数,用于根据所述环境变量信息为所述信息提取函数体添加上下文代码,获得目标信息提取函数;
[0014]目标信息获取模块,用于运行所述目标信息提取函数,获得所述环境变量信息中的目标信息;其中,所述目标信息为所述目标信息提取函数预定义的信息。
[0015]第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
[0016]一个或多个处理装置;
[0017]存储装置,用于存储一个或多个程序;
[0018]当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如本公开实施例所述的信息的处理方法。
[0019]第四方面,本公开实施例还公开了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现如本公开实施例所述的信息的处理方法。
[0020]本公开实施例公开的信息的处理方法、装置、设备及存储介质,首先配置构建任务的信息提取函数体,并将信息提取函数体注入构建任务中,然后获取构建任务的环境变量信息,再然后根据环境变量信息为信息提取函数体添加上下文代码,获得目标信息提取函数,最后运行目标信息提取函数,获得环境变量信息中的目标信息。本公开实施例公开的信息的处理方法,通过运行目标信息提取函数,获得构建任务中的目标信息,可以自定义的提取任务构建信息,以实现对构建任务的环境变量包含的信息的统一管理。
附图说明
[0021]图1是本公开实施例中的一种信息的处理方法的流程图;
[0022]图2是本公开实施例中的将信息提取函数体注入构建任务中的示例图;
[0023]图3是本公开实施例中的一种信息的处理的信令图;
[0024]图4是本公开实施例中的一种信息的处理的信令图;
[0025]图5是本公开实施例中的一种信息的处理装置的结构示意图;
[0026]图6是本公开实施例中的一种电子设备的结构示意图。
具体实施方式
[0027]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0028]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0029]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0030]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0031]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0032]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0033]本公开实施例中,构建任务可以是Jenkins任务,Jenkins是一个开源的、提供友好
操作界面的持续集成工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。而任务(Job)是Jenkins的一个执行计划,是一系列操作的集合。在Jenkins服务就绪之后,我们可以通过Web服务界面的“New Item”来创建具体的Jenkins Task。本公开实施例中,主要针对流水线类型的任务(以下简称为Jenkins Pipeline Task)
[0034]其中,Jenkins Pipeline Task可以采用Groovy语法来定义。Jenkins Pipeline Task定义的具体行为包括:通过label指定具体执行任务的Slave节点机器;定义此Task运行时的自定义环境变量;定义不同的执行阶段;使用简单的内置sh指令运行shell脚本或者python脚本。
[0035]Jenkins Job运行的目标多种多样,例如:执行编译任务,生成编译后的产物;执行部署任务,部署某些服务。本公开实施例中,主要关注执行编译任务。
[0036]Jenkins Job在启动时,会为每一个Job进程传递许多环境变量,使得当前运行的任务在运行自定义脚本时获知自己所处的环境,例如:BUILD_NUMBER:The current build number,such 本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种信息的处理方法,其特征在于,包括:配置构建任务的信息提取函数体,并将所述信息提取函数体注入所述构建任务中;获取所述构建任务的环境变量信息;根据所述环境变量信息为所述信息提取函数体添加上下文代码,获得目标信息提取函数;运行所述目标信息提取函数,获得所述环境变量信息中的目标信息;其中,所述目标信息为所述目标信息提取函数预定义的信息。2.根据权利要求1所述的方法,其特征在于,将所述信息提取函数体注入所述构建任务中,包括:获取所述构建任务的环境变量配置入口;通过所述配置入口将所述信息提取函数体添加至所述构建任务的环境变量中。3.根据权利要求1所述的方法,其特征在于,根据所述环境变量信息为所述信息提取函数体添加上下文代码,获得目标信息提取函数,包括:对所述信息提取函数体添加上下文代码模板;根据所述环境变量信息替换所述上下文代码模板中的占位符变量。4.根据权利要求3所述的方法,其特征在于,根据所述环境变量信息替换所述上下文代码模板中的占位符变量,包括:基于设定标准函数读取所述上下文代码模板,获得占位符变量;将所述占位符变量替换为所述环境变量信息中对应的实际变量。5.根据权利要求1所述的方法,其特征在于,在根据所述环境变量信息为所述信息提取函数体添加上下文代码之前,还包括:为所述构建任务添加调用脚本;所述调用脚本用于当所述构建任务运行至设定阶段时,执行根据所述环境变量信息为所述信息提取函数体添加上下文代码的操作;相应的,根据所述环境变量信息为所述信息提取函数体添加上下文代码,包括:当所述构建任务运行至所述设定阶段时,根据所述环境变量信息为所...

【专利技术属性】
技术研发人员:管伟张祖俭
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利