CN111506304A - 一种基于参数配置的流水线构建方法及系统 - Google Patents
一种基于参数配置的流水线构建方法及系统 Download PDFInfo
- Publication number
- CN111506304A CN111506304A CN202010317612.9A CN202010317612A CN111506304A CN 111506304 A CN111506304 A CN 111506304A CN 202010317612 A CN202010317612 A CN 202010317612A CN 111506304 A CN111506304 A CN 111506304A
- Authority
- CN
- China
- Prior art keywords
- plug
- project
- pipeline
- parameter configuration
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 claims description 4
- 238000013515 script Methods 0.000 abstract description 16
- 238000012423 maintenance Methods 0.000 abstract description 8
- 238000004519 manufacturing process Methods 0.000 abstract description 7
- 238000012827 research and development Methods 0.000 abstract description 4
- 238000011161 development Methods 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 4
- 238000010367 cloning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于参数配置的流水线构建方法及系统,属于计算机软件技术领域,包括以下步骤:S1:编写插件工程;S2:配置插件工程;S3:编辑流程;S4:选择插件;S5:构建单一步骤;S6:构建全部步骤。本发明不需要学习编写shell脚本,就可以编辑一个CI&CD的流水线,为用户节约了学习成本和时间,降低了使用者的门槛,扩大了用户范围;使一个研发团队中的所有人员,都可以参与到持续构建/部署的工作中,可以针对非运维人员使用,让开发与运维实现更好地协作;插件工程与整个平台的其他代码是零耦合的,用户可以自行开发插件工程完成他们想做的事;还对日志中展示的内容做了过滤和处理,让杂糅的日志内容变得简洁且直接。
Description
技术领域
本发明涉及计算机软件技术领域,具体涉及一种基于参数配置的流水线构建方法及系统。
背景技术
CI(Continuous integration,持续集成)是一种软件开发实践。CI的工作原理如图1所示,开发人员提交了新代码(图1中的CHECK-IN)到代码管理仓库中(图1中的SOURCEREPOSITORY)后,CI服务器立刻进行构建(BUILD)、(单元)测试(TEST)。根据测试结果(RESULT),可以确定新代码和原有代码能否正确地集成在一起。
CD(Continuous Delivery,持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。CI&CD的大概工作模式如图2所示。在图2中的示例中,CD就是在CI的单元测试后,可以把代码部署到连接数据库的Staging环境中进行更多的测试。如果代码没有问题,可以继续手动部署到生产环境。
为了实现CI&CD的工作模式,就离不开一套CI&CD流水线配置工具。许多软件和互联网厂商都有自己的产品和解决方案,这些技术有些仅限于其公司内使用,有些选择了开源或商用。
例如,亚马逊在其云平台上提供一套灵活的服务,用户可以通过持续构建各个环节需要的功能自行选择服务,从而自组一套CI&CD工具;百度效率云提供了DevOps工具链,包括代码管理、代码扫描、接口测试、容器化编译、云原生微服务平台等,其核心也是为了实现一套CI&CD的解决方案;阿里云也推出了DevOps企业研发效能(云效)平台,其旨在企业级项目需求管理、持续集成持续交付平台架构,与中间件、容器服务深度整合,提升交付价值。
诸如以上的大厂产品还有很多,但是传播和使用最为广泛的CI工具当属Jenkins。Jenkins是一个开源的、提供友好操作界面的持续集成工具,起源于Hudson(Hudson是商用工具),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
无论是大厂的云平台提供的工具,还是Jenkins的流水线配置,都离不开shell脚本的编写。例如Jenkins配置任务时的“构建”过程,就需要输入shell脚本,如图3所示。
在其他平台实现类似功能,都大同小异的需要输入shell脚本,不再举例。
编写shell脚本,虽然可以让构建/测试的过程更加灵活,但是这意味着使用者需要对服务器上的资源、环境、组件十分了解,熟练掌握shell编程更不必说。所以,需要编写脚本的CI&CD工具,其实有一定的入门门槛,并且迈过门槛之后,在使用过程中,还需要对服务器的运行情况足够了解才能稳定正确的使用。
CI&CD的工作模式,本质上是为了提升构建和部署的效率,这一点Jenkins的价值早已体现,但是前提是任务配置的正确,而配置任务又离不开shell脚本。非专业的运维人员,例如对服务器环境不是十分了解的开发人员,很难流畅地使用流水线去做CI&CD工作。上述问题亟待解决,因此,提出一种基于参数配置的流水线构建方法。
发明内容
本发明所要解决的技术问题在于:如何解决现有CI&CD的工作模式下,存在的配置任务离不开shell脚本,非专业的运维人员很难流畅地使用流水线去做CI&CD工作的问题,提供了一种基于参数配置的可视化流水线构建方法。
本发明是通过以下技术方案解决上述技术问题的,本发明包括以下步骤:
S1:编写插件工程
编写插件工程,将其集成到流水线工程中;
S2:配置插件工程
插件工程集成到流水线工程后,对插件工程的相关参数和属性进行配置;
S3:编辑流程
编辑流程以及基本信息;
S4:选择插件
选择相应的插件图标,对插件进行参数配置;
S5:构建单一步骤
保存步骤S4中插件的参数配置,并保存步骤;
S6:构建全部步骤
重复步骤S1~S5,选择需要的所有插件,插件全部选择完毕,所有步骤配置保存后流水线构建完成。
更进一步的,所述步骤S2~S6的操作均在可视化页面进行。
更进一步的,在所述步骤S2中,插件工程的属性包括插件名称、插件路径、插件实现类、插件类型、插件版本号与插件图标等,插件工程的相关参数包括参数名、输入类型、预值、默认值、参数编码与参数描述等。
更进一步的,在所述步骤S3中,基本信息包括流水线名称、所属项目、是否默认、触发方式、备注。
更进一步的,在所述步骤S3中,流程的编辑通过图例化的编辑方式完成。
更进一步的,在所述步骤S4中,对插件进行参数配置的方式为选择或输入参数。
更进一步的,在流水线构建完毕后,根据需求选择是否运行该流水线,等待运行完毕后,即可查看日志。
更进一步的,流水线中的各个步骤,运行时被后台流水线调度中心按照顺序逐个调用,每一次调用结束,插件工程都会返回一个步骤日志对象,流水线调度中心将步骤日志对象中的日志信息取出并保存,最终返回一个流水线的主体日志,该主体日志会关联每个步骤日志。
更进一步的,在所述步骤S6中,配置的每一个步骤均转换成json格式的数据,发送到流水线调度中心,再通过流水线调度中心将数据发送给各插件工程,插件工程通过解析这些数据完成插件的执行。
本发明还提供了一种基于参数配置的流水线构建系统,包括:
插件工程编写模块,用于编写插件工程,将其集成到流水线工程中;
插件工程配置模块,用于在插件工程集成到流水线工程后,对插件工程的相关参数和属性进行配置;
流程编辑模块,用于编辑流程以及基本信息;
插件工程选择模块,用于选择相应的插件图标,对插件进行参数配置;
单一步骤构建模块,用于保存已选插件的参数配置,并保存步骤;
全部步骤构建模块,用于选择需要的所有插件,插件全部选择完毕,所有步骤配置保存后流水线构建完成;
控制处理模块,用于控制各模块,执行相关指令;
所述插件工程编写模块、插件工程配置模块、流程编辑模块、插件工程选择模块、单一步骤构建模块、全部步骤构建模块均与控制处理模块建立连接。
本发明相比现有技术具有以下优点:该基于参数配置的流水线构建方法,不需要学习编写shell脚本,就可以编辑一个CI&CD的流水线,为用户节约了学习成本和时间,降低了使用者的门槛,扩大了用户范围;由于去除了shell脚本,即允许用户可以对服务器环境不了解,服务器对用户来说是透明的,一个研发团队中的所有人员,都可以参与到持续构建/部署的工作中,可以针对非运维人员使用,让开发与运维实现更好地协作;插件工程与整个平台的其他代码是零耦合的,用户可以自行开发插件工程完成他们想做的事;还对日志中展示的内容做了过滤和处理,让杂糅的日志内容变得简洁且直接,用户可以直接看到他们最关心的内容。
附图说明
图1是现有技术中CI的工作原理示意图;
图2是现有技术中CI&CD的工作模式示意图;
图3是现有技术中输入shell脚本的操作界面图;
图4是本发明实施例一中流水线构建方法的整体流程示意图;
图5是本发明实施例二中基于参数配置的CI&CD解决方案的整体架构图;
图6是本发明实施例二中用户配置docker插件时的操作界面图;
图7是本发明实施例二中一个完整的CI&CD外加测试的流水线示意图;
图8是本发明实施例二中配置git步骤的操作界面图;
图9是本发明实施例二中流水线工程的工程结构示意图;
图10是本发明实施例二中流水线日志查看界面图;
图11是本发明实施例三中Git插件工程的配置操作界面图;
图12是本发明实施例三中在流水线中新增步骤的操作界面图;
图13是本发明实施例三中在前端对gitlab插件的参数配置操作界面图;
图14是本发明实施例三中一条完整的CI&CD同时具备测试功能的流水线示意图;
图15是本发明实施例三中日志页面自动弹出截界面图;
图16是本发明实施例三中流水线日志查看界面图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图4所示,本实施例提供一种技术方案:一种基于参数配置的流水线构建方法,包括以下步骤:
S1:编写插件工程
编写插件工程,将其集成到流水线工程中;
S2:配置插件工程
插件工程集成到流水线工程后,对插件工程的相关参数和属性进行配置;
S3:编辑流程
编辑流程以及基本信息;
S4:选择插件
选择相应的插件图标,对插件进行参数配置;
S5:构建单一步骤
保存步骤S4中插件的参数配置,并保存步骤;
S6:构建全部步骤
重复步骤S1~S5,选择需要的所有插件,插件全部选择完毕,所有步骤配置保存后流水线构建完成。
所述步骤S2~S6的操作均在可视化页面进行。
在所述步骤S2中,插件工程的属性包括插件名称、插件路径、插件实现类、插件类型、插件版本号与插件图标等,插件工程的相关参数包括参数名、输入类型、预值、默认值、参数编码与参数描述等。
在所述步骤S3中,基本信息包括流水线名称、所属项目、是否默认、触发方式、备注。
在所述步骤S3中,流程的编辑通过图例化的编辑方式完成。
在所述步骤S4中,对插件进行参数配置的方式为选择或输入参数。
在流水线构建完毕后,根据需求选择是否运行该流水线,等待运行完毕后,即可查看日志。
流水线中的各个步骤,运行时被后台流水线调度中心按照顺序逐个调用,每一次调用结束,插件工程都会返回一个步骤日志对象,流水线调度中心将步骤日志对象中的日志信息取出并保存,最终返回一个流水线的主体日志,该主体日志会关联每个步骤日志。
在所述步骤S6中,配置的每一个步骤均转换成json格式的数据,发送到流水线调度中心,再通过流水线调度中心将数据发送给各插件工程,插件工程通过解析这些数据完成插件的执行。
本实施例还提供了一种基于参数配置的流水线构建系统,包括:
插件工程编写模块,用于编写插件工程,将其集成到流水线工程中;
插件工程配置模块,用于在插件工程集成到流水线工程后,对插件工程的相关参数和属性进行配置;
流程编辑模块,用于编辑流程以及基本信息;
插件工程选择模块,用于选择相应的插件图标,对插件进行参数配置;
单一步骤构建模块,用于保存已选插件的参数配置,并保存步骤;
全部步骤构建模块,用于选择需要的所有插件,插件全部选择完毕,所有步骤配置保存后流水线构建完成;
控制处理模块,用于控制各模块,执行相关指令;
所述插件工程编写模块、插件工程配置模块、流程编辑模块、插件工程选择模块、单一步骤构建模块、全部步骤构建模块均与控制处理模块建立连接。
实施例二
基于背景技术及现有技术中的问题,本实施例给出了一种基于参数配置的CI&CD解决方案,该解决方案的整体架构如图5所示:为用户提供了一个可视化的友好页面,供用户编辑CI&CD的流水线。在编辑的过程中,用户不需要输入任何脚本语言或命令,只需要对所选择插件的参数进行简单的填写或选择就可以。流水线的运行,会将前端的请求发送给后端的流水线工程。流水线工程中的流水线调度中心,会解析流水线中的内容,根据步骤顺序,逐一调用插件工程,从而完成流水线的执行。最终生成日志并保存,页面上会自动弹出日志供用户查看。
下面对解决方案中的核心技术点进行说明:
一、基于参数配置的流水线编辑过程:
不需要编写shell脚本,仅需要填写/选择相关参数,即可完成一套CI&CD/测试流水线,是本解决方案的核心。以Jenkins构建镜像为例,在构建镜像的过程中,用户需要将编译过程中打好的包,通过shell命令,复制到指定位置,再通过脚本命令启动包,在这之前,可能还需要杀进程,才能保证jar包的正常启动。
而在本解决方案的流水线编辑过程中,不需要写任何的shell命令,在页面上只有一些参数等着用户去配置,并且许多参数已经给了默认值,用户体验十分优良。如图6所示,便是用户配置docker插件时需要填写的参数。
与图3中那一行行的命令相比,图6只需要填写参数和选择命令的方式,对用户来说将更加友好,且做到了零技术门槛使用。此外,该解决方案还精简了大量不常用的配置,让流水线的编辑对技术的要求不断下沉,如图7所示,一个完整的CI&CD外加测试的流水线,在一个简单的页面上,便可以清晰的看到整体的脉络,点击每一个步骤,就能看到详细的配置。而详细的配置也十分简洁,如图8所示,是git步骤的配置。
二、可二次开发的后台实现方案:
从整体解决方案中,可以看到,本CI&CD流水线解决方案,在后台实现中,有一个核心便是流水线调度中心。请求到达流水线调度中心后,才会根据步骤和配置,执行各个插件工程。
这里的插件工程,实际上就是一个个单独的工程,用户可以自行编写新的插件工程,以实现其个性化的插件,集成到流水线工程中后,就可以在页面中使用。本解决方案在页面上看不见shell代码,实际上是经过了插件工程的封装,将复杂繁琐的步骤,都已经封装在了代码中,提供给用户去操作的,都是最容易理解的部分。
三、插件工程调度实现方案:
前端配置的每一个步骤,都转换成了json格式的数据,从前端工程(即页面工程)发送到了流水线调度中心,再通过流水线调度中心将数据发送给插件工程,插件工程通过解析这些数据完成插件的执行。
每个插件的配置信息都可以在前端页面上进行配置,插件工程中某个插件的实现类的全路径名需要配置到插件管理中对应的插件中,所谓插件实现类即一个java的类,该类中的方法实现了通过java调用API的方式来实现某个插件的运行,例如git的实现类,该类实现了从git服务器上拉取/克隆代码的操作,这样流水线调度中心就可以通过java的反射机制,根据类全路径名创建一个该类的对象,而每一个插件的实现类都继承了同一个父类,通过java的向上造型机制,流水线调度中心便可以通过调用同一个方法而实现不同的插件。如图9所述,展示了整个流水线工程的工程结构。
四、便捷的日志查看过程:
对流水线执行完成后的日志,进行了个性化的处理。与市场上已有的平台或开源项目中的流水线功能,执行完毕后展现的日志有所不同,将日志中不必要的内容剔除了,保留了用户最想看到的东西。
前端配置的一个个步骤,会被后台流水线调度中心按照顺序逐个调用,每一次调用结束,插件工程都会返回一个步骤日志对象,流水线调度中心将步骤日志对象中的日志信息取出并保存到数据库中,成为一条数据库记录,这条步骤日志记录中会有一个字段与流水线ID进行关联,从而在需要查看日志的时候,可以通过流水线ID,将一条流水线的所有步骤日志都取出来,最终返回一个流水线的主体日志,该日志会关联每个步骤日志。
日志可以通过流水线列表页面每条记录后的“日志”按钮查看,也可以通过编辑页面的“日志”按钮查看。流水线在执行完毕后也会自动弹出日志页面。日志展示的内容,以docker插件执行后的日志为例,如图10所示,日志展示了镜像仓库的地址,以及访问方式。
实施例三
本实施例提供了一种基于参数配置的流水线构建方法,具体实施过程如下:
步骤1:
编写插件工程,通常一个插件工程只是一个简单的java工程,该工程中可以包含一个或多个类,但是至少有一个类要继承一个插件工程父类,该父类的名称为MyTask,其中有两个抽象方法需要实现,分别是run方法和checkParam方法,其中run方法用于被流水线调度中心调用并返回步骤日志,checkParam用于检查流水线调度中心传入的参数是否正确,返回是或否,例如在本实施例中编写了gitlab插件的后台插件工程,该插件工程依赖了jgit的jar包,可以通过在java代码中调用git的API实现从gitlab仓库中拉取代码的操作。
步骤2:
Git插件工程集成到流水线工程后,需要在页面进行相关参数和属性配置才可以使用。以git为例,详细配置如图11所示。此处的参数配置是对一个插件有哪些参数进行配置,而步骤4的参数配置是对一个插件具体的参数取值进行配置。例如git插件有三个参数:代码库地址、访问凭证、分支,需要在插件管理页面,新增一个插件取名为git,并将其三个参数的相关信息填入参数配置中,相关信息包括参数名、参数编码、预值、输入类型等。而步骤4的参数配置是指在流水线中,如果用户选择了git插件,那么他需要填写代码库地址、访问凭证、分支这三个参数。
步骤3:
在流水线编辑页面可以编辑流程以及基本信息:流水线名称、所属项目、是否默认、触发方式、备注。流程的编辑将Jenkins那种表单式的步骤填写,精简成了图例化的步骤编辑。以第一步,拉取代码为例。点击页面上“添加步骤”,弹出步骤编辑页面,如图12所示。
步骤4:
点击gitlab插件图标,弹出插件参数配置页面,选择/输入参数即可,如图13所示。
步骤5:
点击页面上的“确定”保存参数配置,再点击确定保存步骤,如此,一个流水线步骤便新增完毕。重复以上过程,选择需要的插件(目前提供git、maven、docker、k8s、jmeter、sonarqube等插件)便可以编辑出一条用于CI&CD的流水线。
每个步骤都属于一个阶段,一个阶段可以新增多个步骤,阶段不影响流水线运行步骤的顺序,但是可以通过将步骤归入到阶段中,让拥有多个步骤的流水线在页面上更整齐,阶段之间的加号,可以新增阶段,从而让流水线更具备可读性,如图14,一个流水线拥有五个步骤,如果都放在一个阶段中,或者没有阶段的概念,那么这条流水线就显得很长,似乎是一路走到头,看不出结构,但是通过阶段的划分,可以将拥有类似功能的步骤,或有关联功能的步骤,划入同一个阶段,让这条流水线的结构和过程更加清晰。目前一条完整的CI&CD同时具备测试功能的流水线如图14所示。
步骤6:
流水线编辑完毕后,点击页面上的“保存”即可将流水线保存下来。点击“运行”将开始运行该流水线。等待运行完毕后,日志页面将自动弹出,如图15所示。
步骤7:
点击页面上的“日志详情”即可查看完整的流水线日志记录,如图16所示。
需要说明的是,插件是抽象的,例如git是一个插件,它可以做到拉取代码/克隆代码,git这个插件可以从互联网上下载安装包,单独安装在电脑上,它也可以集成到java代码中。而插件工程是具体的,是一段java代码,这段java代码是为了实现这个插件,例如git插件工程,是用java写了一段代码,这段代码可以实现拉取代码/克隆代码的操作。
综上所述,上述实施例的基于参数配置的流水线构建方法,不需要学习编写shell脚本,就可以编辑一个CI&CD的流水线,为用户节约了学习成本和时间,降低了使用者的门槛,扩大了用户范围;由于去除了shell脚本,即允许用户可以对服务器环境不了解,服务器对用户来说是透明的,一个研发团队中的所有人员,都可以参与到持续构建/部署的工作中,可以针对非运维人员使用,让开发与运维实现更好地协作;插件工程与整个平台的其他代码是零耦合的,用户可以自行开发插件工程完成他们想做的事;还对日志中展示的内容做了过滤和处理,让杂糅的日志内容变得简洁且直接,用户可以直接看到他们最关心的内容,值得被推广使用。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于参数配置的流水线构建方法,其特征在于,包括以下步骤:
S1:编写插件工程
编写插件工程,将其集成到流水线工程中;
S2:配置插件工程
插件工程集成到流水线工程后,对插件工程的相关参数和属性进行配置;
S3:编辑流程
编辑流程以及基本信息;
S4:选择插件
选择相应的插件图标,对插件进行参数配置;
S5:构建单一步骤
保存步骤S4中插件的参数配置,并保存步骤;
S6:构建全部步骤
重复步骤S1~S5,选择需要的所有插件,插件全部选择完毕,所有步骤配置保存后流水线构建完成。
2.根据权利要求1所述的一种基于参数配置的流水线构建方法,其特征在于:所述步骤S2~S6的操作均在可视化页面进行。
3.根据权利要求1所述的一种基于参数配置的流水线构建方法,其特征在于:在所述步骤S2中,插件工程的属性包括插件名称、插件路径、插件实现类、插件类型、插件版本号与插件图标,插件工程的相关参数包括参数名、输入类型、预值、默认值、参数编码与参数描述。
4.根据权利要求1所述的一种基于参数配置的流水线构建方法,其特征在于:在所述步骤S3中,基本信息包括流水线名称、所属项目、是否默认、触发方式、备注。
5.根据权利要求1所述的一种基于参数配置的流水线构建方法,其特征在于:在所述步骤S3中,流程的编辑通过图例化的编辑方式完成。
6.根据权利要求1所述的一种基于参数配置的流水线构建方法,其特征在于:在所述步骤S4中,对插件进行参数配置的方式为选择或输入参数。
7.根据权利要求1所述的一种基于参数配置的流水线构建方法,其特征在于:在流水线构建完毕后,根据需求选择是否运行该流水线,等待运行完毕后,即可查看日志。
8.根据权利要求7所述的一种基于参数配置的流水线构建方法,其特征在于:流水线中的各个步骤,运行时被后台流水线调度中心按照顺序逐个调用,每一次调用结束,插件工程都会返回一个步骤日志对象,流水线调度中心将步骤日志对象中的日志信息取出并保存,最终返回一个流水线的主体日志,主体日志关联每个步骤日志。
9.根据权利要求1所述的一种基于参数配置的流水线构建方法,其特征在于:在所述步骤S6中,配置的每一个步骤均转换成json格式的数据,发送到流水线调度中心,再通过流水线调度中心将数据发送给各插件工程,插件工程通过解析这些数据完成插件的执行。
10.一种基于参数配置的流水线构建系统,其特征在于,利用如权利要求1~9任一所述的构建方法进行流水线的构建工作,包括:
插件工程编写模块,用于编写插件工程,将其集成到流水线工程中;
插件工程配置模块,用于在插件工程集成到流水线工程后,对插件工程的相关参数和属性进行配置;
流程编辑模块,用于编辑流程以及基本信息;
插件工程选择模块,用于选择相应的插件图标,对插件进行参数配置;
单一步骤构建模块,用于保存已选插件的参数配置,并保存步骤;
全部步骤构建模块,用于选择需要的所有插件,插件全部选择完毕,所有步骤配置保存后流水线构建完成;
控制处理模块,用于控制各模块,执行相关指令;
所述插件工程编写模块、插件工程配置模块、流程编辑模块、插件工程选择模块、单一步骤构建模块、全部步骤构建模块均与控制处理模块建立连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010317612.9A CN111506304A (zh) | 2020-04-21 | 2020-04-21 | 一种基于参数配置的流水线构建方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010317612.9A CN111506304A (zh) | 2020-04-21 | 2020-04-21 | 一种基于参数配置的流水线构建方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111506304A true CN111506304A (zh) | 2020-08-07 |
Family
ID=71876272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010317612.9A Pending CN111506304A (zh) | 2020-04-21 | 2020-04-21 | 一种基于参数配置的流水线构建方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506304A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114813A (zh) * | 2020-09-17 | 2020-12-22 | 四川长虹电器股份有限公司 | 一种基于流水线的yaml脚本自动生成方法 |
CN112181366A (zh) * | 2020-09-28 | 2021-01-05 | 科大国创云网科技有限公司 | 基于跨平台交互的移动应用开发框架 |
CN112328229A (zh) * | 2020-11-06 | 2021-02-05 | 无锡江南计算技术研究所 | 一种快速创建Jenkins流水线的方法 |
CN112882938A (zh) * | 2021-02-25 | 2021-06-01 | 重庆紫光华山智安科技有限公司 | 一种场景数据测试方法、系统、电子设备及介质 |
CN113688038A (zh) * | 2021-08-19 | 2021-11-23 | 浪潮云信息技术股份公司 | 一种分阶段、图形化展示Jekins构建日志的处理方法及系统 |
CN114253630A (zh) * | 2021-12-23 | 2022-03-29 | 上海新炬网络信息技术股份有限公司 | 基于Java切面修改Form表单变化信息实现日志保存的方法 |
TWI774469B (zh) * | 2021-07-12 | 2022-08-11 | 瑞昱半導體股份有限公司 | 程式編譯管理系統與其作業方法 |
CN115421847A (zh) * | 2022-11-03 | 2022-12-02 | 江苏博云科技股份有限公司 | 支持多引擎的研发运维平台和cicd流水线的管理方法及设备 |
CN117992077A (zh) * | 2024-01-18 | 2024-05-07 | 北京盛邦赛云科技有限公司 | 流水线部署方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090089128A1 (en) * | 2007-09-27 | 2009-04-02 | Microsoft Corporation | Service-oriented pipeline based architecture |
US20180046455A1 (en) * | 2016-08-10 | 2018-02-15 | Fmr Llc | System and Method of Configuring A Data Store For Tracking And Auditing Real-Time Events Across Different Software Development Tools In Agile Development Environments |
US20180364985A1 (en) * | 2017-06-14 | 2018-12-20 | International Business Machines Corporation | Congnitive development of devops pipeline |
CN110262806A (zh) * | 2019-06-20 | 2019-09-20 | 杭州泰然鲸数云计算有限公司 | 一种支持自动化服务编排的DevOps系统 |
US20190294531A1 (en) * | 2018-03-26 | 2019-09-26 | Ca, Inc. | Automated software deployment and testing based on code modification and test failure correlation |
US10585656B1 (en) * | 2017-12-18 | 2020-03-10 | Cerner Innovation, Inc. | Event manager for software deployment |
-
2020
- 2020-04-21 CN CN202010317612.9A patent/CN111506304A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090089128A1 (en) * | 2007-09-27 | 2009-04-02 | Microsoft Corporation | Service-oriented pipeline based architecture |
US20180046455A1 (en) * | 2016-08-10 | 2018-02-15 | Fmr Llc | System and Method of Configuring A Data Store For Tracking And Auditing Real-Time Events Across Different Software Development Tools In Agile Development Environments |
US20180364985A1 (en) * | 2017-06-14 | 2018-12-20 | International Business Machines Corporation | Congnitive development of devops pipeline |
US10585656B1 (en) * | 2017-12-18 | 2020-03-10 | Cerner Innovation, Inc. | Event manager for software deployment |
US20190294531A1 (en) * | 2018-03-26 | 2019-09-26 | Ca, Inc. | Automated software deployment and testing based on code modification and test failure correlation |
CN110262806A (zh) * | 2019-06-20 | 2019-09-20 | 杭州泰然鲸数云计算有限公司 | 一种支持自动化服务编排的DevOps系统 |
Non-Patent Citations (1)
Title |
---|
丘晖: "基于容器的持续集成和部署方法研究", 《广东通信技术》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114813A (zh) * | 2020-09-17 | 2020-12-22 | 四川长虹电器股份有限公司 | 一种基于流水线的yaml脚本自动生成方法 |
CN112181366A (zh) * | 2020-09-28 | 2021-01-05 | 科大国创云网科技有限公司 | 基于跨平台交互的移动应用开发框架 |
CN112181366B (zh) * | 2020-09-28 | 2023-01-24 | 科大国创云网科技有限公司 | 基于跨平台交互的移动应用开发框架 |
CN112328229A (zh) * | 2020-11-06 | 2021-02-05 | 无锡江南计算技术研究所 | 一种快速创建Jenkins流水线的方法 |
CN112882938A (zh) * | 2021-02-25 | 2021-06-01 | 重庆紫光华山智安科技有限公司 | 一种场景数据测试方法、系统、电子设备及介质 |
CN112882938B (zh) * | 2021-02-25 | 2023-03-14 | 重庆紫光华山智安科技有限公司 | 一种场景数据测试方法、系统、电子设备及介质 |
TWI774469B (zh) * | 2021-07-12 | 2022-08-11 | 瑞昱半導體股份有限公司 | 程式編譯管理系統與其作業方法 |
CN113688038A (zh) * | 2021-08-19 | 2021-11-23 | 浪潮云信息技术股份公司 | 一种分阶段、图形化展示Jekins构建日志的处理方法及系统 |
CN114253630A (zh) * | 2021-12-23 | 2022-03-29 | 上海新炬网络信息技术股份有限公司 | 基于Java切面修改Form表单变化信息实现日志保存的方法 |
CN114253630B (zh) * | 2021-12-23 | 2023-07-25 | 上海新炬网络信息技术股份有限公司 | 基于Java切面修改Form表单变化信息实现日志保存的方法 |
CN115421847A (zh) * | 2022-11-03 | 2022-12-02 | 江苏博云科技股份有限公司 | 支持多引擎的研发运维平台和cicd流水线的管理方法及设备 |
CN117992077A (zh) * | 2024-01-18 | 2024-05-07 | 北京盛邦赛云科技有限公司 | 流水线部署方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506304A (zh) | 一种基于参数配置的流水线构建方法及系统 | |
US7448024B2 (en) | System and method for software application development in a portal environment | |
CN101777004B (zh) | 面向服务环境中基于模板实现bpel子流程复用的方法及系统 | |
US8296665B2 (en) | Developing and executing applications with configurable patterns | |
US7913231B2 (en) | Testing pattern-based applications | |
US9916134B2 (en) | Methods and systems for accessing distributed computing components through the internet | |
US7761865B2 (en) | Upgrading pattern configurations | |
US8347214B2 (en) | Automated interface-specification generation for enterprise architectures | |
US9286037B2 (en) | Platform for distributed applications | |
US20040205691A1 (en) | Interactive agent for a topological multi-tier business application composer | |
US20100153150A1 (en) | Software for business adaptation catalog modeling | |
EP2378415A1 (en) | Service integration modeling and execution framework | |
US20160170719A1 (en) | Software database system and process of building and operating the same | |
US20100107136A1 (en) | Integrated development framework for composite applications | |
US20110185294A1 (en) | Pattern-based user interfaces | |
JP2015504186A (ja) | モバイル・アプリケーション開発のためのシステムおよび方法 | |
US20050267913A1 (en) | Detecting and handling changes to back-end systems | |
JP2006512670A (ja) | 統合型プロセス・モデラーのための方法及び装置 | |
US20100011018A1 (en) | Custom database system and method of building the same | |
CN115480810A (zh) | 一种基于云原生的低代码平台 | |
WO2023004806A1 (zh) | Ai模型的设备部署方法、系统及存储介质 | |
CN113010168A (zh) | 一种基于场景树的用户界面生成方法 | |
KR101989634B1 (ko) | 미리 구축된 컨트롤을 사용하는 로직 생성 기법 | |
US20060047723A1 (en) | Custom database system and method of building the same | |
US7814464B2 (en) | Address support for resources in common-language runtime languages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200807 |
|
RJ01 | Rejection of invention patent application after publication |